3 svar
549 visningar
josefinanord behöver inte mer hjälp
josefinanord 103 – Fd. Medlem
Postad: 22 feb 2019 14:36

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.

Yngve 40279 – Livehjälpare
Postad: 22 feb 2019 15:02 Redigerad: 22 feb 2019 15:04
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.

josefinanord 103 – Fd. Medlem
Postad: 22 feb 2019 15:24

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 :/

Laguna Online 30484
Postad: 22 feb 2019 16:16

Du kan behöva skriva en radavslutning också. Använd println i stället för print.

Svara
Close