Enkla metoder och program
Uppgiften: "Skriv en metod som heter sum(). Den skall kunna ta som argument två heltal och returnera summan av heltalen.
Skriv en metod som heter diff(). Den skall kunna ta som argument två heltal och returnera differens av heltalen.
Skriv ett program (main) där du användaren matar in två heltal och en operator (via programargument) dvs + eller -. Om operator är + skall sum() anropas, om operator är - skall diff() anropas. Skriv sedan ut resultatet.
Min kod:
import java.util.Scanner;
class MyMethods{
public static int Sum(int a, int b){
return a + b;
}
public static int Diff(int a, int b){
return a - b;
}
public static void main(String[] args)
{
if(args[2] == "+"){
System.out.print(MyMethods.Sum(Integer.parseInt(args[0]), Integer.parseInt(args[1])));
}
if(args[2] == "-"){
System.out.print(MyMethods.Diff(Integer.parseInt(args[0]), Integer.parseInt(args[1])));
}
}
}
Programmet går att kompilera utan error men skriver inte ut något.
josefinanord skrev:Uppgiften: "Skriv en metod som heter sum(). Den skall kunna ta som argument två heltal och returnera summan av heltalen.
Skriv en metod som heter diff(). Den skall kunna ta som argument två heltal och returnera differens av heltalen.
Skriv ett program (main) där du användaren matar in två heltal och en operator (via programargument) dvs + eller -. Om operator är + skall sum() anropas, om operator är - skall diff() anropas. Skriv sedan ut resultatet.
Min kod:
import java.util.Scanner;
class MyMethods{
public static int Sum(int a, int b){
return a + b;
}
public static int Diff(int a, int b){
return a - b;
}
public static void main(String[] args)
{
if(args[2] == "+"){
System.out.print(MyMethods.Sum(Integer.parseInt(args[0]), Integer.parseInt(args[1])));
}
if(args[2] == "-"){
System.out.print(MyMethods.Diff(Integer.parseInt(args[0]), Integer.parseInt(args[1])));
}
}
}
Programmet går att kompilera utan error men skriver inte ut något.
Du kanske inte parsar parametrarna rätt?
Lägg till en utskrift av args[0], args[1], args[2] precis i början så du ser hur input tolkas.
När jag gör det så skrivs argumenten ut som det ska men kan ändå inte lista ut varför den inte skriver ut resultatet i slutet :/
Du kan behöva skriva en radavslutning också. Använd println i stället för print.