Varför måste jag skriva in q två gånger istället för 1.
Varför måste jag skriva in q två gånger istället för 1 för att progammet ska stoppas?
import java.util.Scanner;
public class Utskrift {
// Om det större talet alltid ska vara täljaren kommer jag aldrig få resultatet
// 6/7 eftersom 7 kommer byta plats med 6, 6/7 = 6/7; 7/6 = 1 1/6;
public static int fraction(int nominator, int denominator) {
if (nominator == 0) {
return 0;
} else if (denominator == 0) {
return 0;
} else if (nominator > denominator) {
int top = nominator / denominator;
return top;
} else if (nominator < denominator) {
int bot = denominator / nominator;
return bot;
}
return nominator;
}
public static int sgd(int a, int b) {
if (a == 0) {
} else if (b == 0) {
} else {
int c = fraction(a, b);
if (a > b) {
int d = a - b * c;
return d;
} else if (a < b) {
int d = b - a * c;
return d;
}
}
return 0;
}
static void printFraction(int[] parts) {
if (parts[0] == 0) {
System.out.print("Error");
} else if (parts[0] > 0) {
System.out.print(parts[0] + " ");
} else
System.out.print("");
if (parts[1] > 0) {
System.out.print(parts[1] + "/" + parts[2]);
} else
System.out.print("");
}
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
String nominator = sc.next();
String denominator = sc.next();
if (nominator.equals("q")) {
break;
}
else if (denominator.equals("q")) {
break;
} else {
int intNominator = Integer.parseInt(nominator);
int intDenominator = Integer.parseInt(denominator);
int printFraction0 = fraction(intNominator, intDenominator);
int printSgd = sgd(intNominator, intDenominator);
System.out.print("\n" + intNominator + "/" + intDenominator + " = "); // Borde man skriva in hur talen först inmatades eller efter talen
// möjligtvis
// bytt plats?
printFraction(new int[] { printFraction0, printSgd, intDenominator });
}
}
}
}
Så jag kommer ihåg. [code][/code]