3 svar
49 visningar
josefinanord är nöjd med hjälpen!
josefinanord 104
Postad: 22 feb 2019

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 Online 11540 – Mattecentrum-volontär
Postad: 22 feb 2019 Redigerad: 22 feb 2019
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 104
Postad: 22 feb 2019

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 4760
Postad: 22 feb 2019

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

Svara Avbryt
Close