• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af hoppendekanin | 24.05.2009 22:01

Addere to talværdier fra to strenge i Java 1,1,6

Programmering
Jeg er løbet ind i et mindre problem. Det er, at jeg ikke kan få Java 1,1,6 til at addere to værdier. Man skal skrive de to talværdier i to textarea´er (tekstfelter), hvorpå min applikation skal lægge de to talværdier sammen og udskrive dem.
Kodestumpen ser sådan ud:

String vaerdi1 = felt1.getText();
String vaerdi2 = felt2.getText();
String facit = (vaerdi1+vaerdi2);
textfelt.setText(facit);


Det som min applikation gør er, at hvis jeg har angivet værdien 1 i felt1 og værdien 2 i felt 2, så udskriver applikationen "21" i stedet for "3". Nogle, der ved, hvad der kan være galt ?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer7

# 1

16 år 7 måneder siden

Permalink

Indsendt af Kresten Kjaer den 24. maj 2009 kl. 22:07

Permalink

Re: Addere to talværdier fra to strenge i Java 1,1,6

Du får et String objekt, det skal du have lavet om til en Integer.
String facit = (Integer.parseInt(felt1.getText()) + Integer.parseInt(felt2.getText()))

Bemærk at java gerne selv skulle caste tilbage til String.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

16 år 7 måneder siden

Permalink

Indsendt af divineant den 24. maj 2009 kl. 22:09

Permalink

Re: Addere to talværdier fra to strenge i Java 1,1,6

Du prøver på at addere 2 strenge istedet for 2 integers.
  • Log ind eller opret dig for at tilføje kommentarer

# 3

16 år 7 måneder siden

Permalink

Indsendt af hoppendekanin den 25. maj 2009 kl. 16:42

Permalink

Re

Når jeg prøvet at indsætte:
Integer.parseInt(felt1.getText()) + Integer.parseInt(felt2.getText());
men så siger programmet, at der mangler ")" i linjen.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

16 år 7 måneder siden

Permalink

Indsendt af arnbak den 26. maj 2009 kl. 09:41

In reply to Re by hoppendekanin

Permalink

Prøv det her:
int result =

Prøv det her:

int result = Integer.parseInt(felt1.getText()) + Integer.parseInt(felt2.getText());
  • Log ind eller opret dig for at tilføje kommentarer

# 5

16 år 7 måneder siden

Permalink

Indsendt af hoppendekanin den 26. maj 2009 kl. 17:08

Permalink

Tak

#4
Tak, det virker!
Men nu bruger jeg kommatal i applikationen, så når jeg prøver at erstatte "int" med double, så vil den stadigvæk ikke regne med kommatal
  • Log ind eller opret dig for at tilføje kommentarer

# 6

16 år 7 måneder siden

Permalink

Indsendt af Anonym7 den 26. maj 2009 kl. 17:13

Permalink

Re: Addere to talværdier fra to strenge i Java 1,1,6

Med double er du på ingenmandsland fra min side... Har ikke tid til at skifte koden ud :) Sig goddag til typestærkt sprog :D

Nu kan man jo skrive alt hvad man vil i et tekstfelt så her er lidt kode til at håndtere
1) tjek om det *er* et tal
2) konverter tallet og brug det


public static boolean isNumber(String str) {
try {
Integer.parseInt(str);
return true;
} catch ( NumberFormatException e) {
return false;
}
}



int res=0;
if ( isNumber( felt1.getText() ) && isNumber( felt2.getText() ) ) {
try {
res = Integer.parseInt(felt1.getText());
res += Integer.parseInt(felt2.getText());
} catch ( NumberFormatException e ) {} //sker ikke da isNumber tjekker for os


nu skulle res gerne holde værdien :) husk selv at håndtere hvad der skal ske, såfremt if-blokken ikke køres (da et af felterne IKKE er en int!)
  • Log ind eller opret dig for at tilføje kommentarer

# 7

16 år 7 måneder siden

Permalink

Indsendt af noerbo den 26. maj 2009 kl. 17:54

Permalink

Re: Addere to talværdier fra to strenge i Java 1,1,6

Du kan gøre det med double på følgende måde. Hvis du vil give ordentlige fejlbeskeder skal du nok have flere typer exceptions.

public class test {
public static void main(String args[]) {
String nr1 = "3.14";
String nr2 = "2.67";
double res = 0.0;

try {
res = Double.valueOf(nr1).doubleValue() + Double.valueOf(nr2).doubleValue();
}

catch(Exception exc) {
System.out.println("Error");
System.exit(-1);
}
System.out.println(res);
}
}

  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Fortsat problemer 0
Linux Foundation brugte 8,4 millioner dollars på Linux Kernel projektet i 2025 0
KDE overgår indsamlingsmålet for 2025 med rekordstor støtte fra lokalsamfundet 0
Zypper Package Manager brugervejledning til openSUSE brugere og deres derivater 0
KDE Spectacle tilføjer OCR understøttelse for at kopiere tekst direkte fra skærmbilleder 0

Seneste aktivitet

Nu kan man skrive private beskeder 3
Glædelig Jul 3
Kunstig inteligens 4
Kopiering til min Samsung telefon 5
Mbox mail import til Thunderbird 14
FOSS i Færdselsstyrelsen 2
Program ala Dreamweaver 2
Test af forum 5
Flatpak og hvorfor 1
Har brugt GLF OS, en NixOS-baseret distribution lavet i Frankrig. 2
Crontab 2
[ LØST ] Flere genveje på Firefox skrivebordet 5
Linuxin er nu migreret til Drupal 11 15
Dansk distro til software udviklere 3
Driver til min scanner? 3
Affinity V3 2
copy hvordan 1
Sortering af filer - sort of... 4
Det der ikke må galt gik galt 5
VPN — 8 tests, 1 klar vinder i 2025 3

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !