Försöker förstå mig på det här med metoder i java. Har sökt en hel del på nätet, men många koder är väldigt svåra att förstå. Att göra en enkel metod med void är väldigt lätt, där den alltså inte returnerar utan istället hämtas informationen och skriver ut. Exempelvis denna enkla kod jag skrev nu.
import javax.swing.*;
public class Metod {
public static void main (String [] arg) {
int confirm;
confirm=JOptionPane.showConfirmDialog (null, "Vill du skriva ut en text?");
if (confirm == 0) {
print_out();
}
else
if (confirm == 1){
System.exit(0);
}
}
public static void print_out(){
System.out.println ("Detta är en text");
}
}
Det jag undrar över är hur man på ett enkelt sätt kan få exempelvis räkna-metoden att göra en enkel uträkning och sedan returnera det och sedan skriva ut resultatet i main-metoden? Jag har börjat, men får det inte riktigt att fungera? Någon som kan hjälpa mig på ett lika lättförståeligt sätt som koden jag gjort ovan med Void.
Hur ska jag få metoden att räkna ut detta och returnera och slutligen presentera resultatet. Min (felaktiga) kod nedan:
import javax.swing.*;
import java.text.*;
import java.util.*;
public class burk {
public static void main(String[] arg){
String indata;
int första, andra;
indata = JOptionPane.showInputDialog("Ange ett tal:");
första =Integer.parseInt(indata);
indata = JOptionPane.showInputDialog("Ange ytterligare ett tal:");
andra =Integer.parseInt(indata);
räkna(första, andra);
System.out.println(totalt);
}
public static int räkna(int första, int andra) {
totalt=första+andra;
return totalt;
}
}
Utan att kunna ett smack om java (dock om andra liknande språk), så hade jag provat något sånt härnt (mina tillägg i fet stil):
import javax.swing.*;
import java.text.*;
import java.util.*;
public class burk {
public static void main(String[] arg){
String indata;
int första, andra, [b]totalt[/b];
indata = JOptionPane.showInputDialog("Ange ett tal:");
första =Integer.parseInt(indata);
indata = JOptionPane.showInputDialog("Ange ytterligare ett tal:");
andra =Integer.parseInt(indata);
[b]totalt = [/b]räkna(första, andra);
System.out.println(totalt);
}
public static int räkna(int första, int andra) {
[b]int totalt;[/b]
totalt=första+andra;
return totalt;
}
}
Tack. klart du kan mer än ett smack. Koden funkar nu.
Så med andra ord hade jag glömt att deklarera variabeln totalt. och ej skapat en variabel av totalt som System.out kan anropa. Variabeln totalt anropar metoden räkna och hämtar summan därifrån. Tack återigen. Då är jag med.
257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849