Итак, вот весь код, который имеет значение
int dom = Integer.parseInt(Domin.getText());
double fraction = Integer.parseInt(Numer.getText())/Integer.parseInt(Domin.getText());
String currentlow = "";
System.out.println("TEST");
for (int i = 0; i >= dom;i++){ //ok the problem wasn't that it was > dom instead of >= dom
System.out.println("dummy"); //this doesn't print and it would print every time if it was running the for loop.
if((num % i == 0)&&(dom % i == 0)){ //this just = checks to see that there's no remainder (like 5/5)
System.out.println("true"); //this for some reason never triggers even though i'm testing with 5/25
if ((num/i)/(dom/i) == fraction){ //this is a dummy check to make sure it doesn't round improperly
currentlow = String.valueOf(num/i) + "/" + String.valueOf(i); //this sets the value but isn't the problem since the console never says "true"
System.out.println(currentlow); //nother dummy check
}
}
}
отредактируйте комментарии, если хотите, но в основном цикл for должен вызывать деление на все числа, меньшие доминатора, но он даже никогда не открывает цикл for (он не печатает «пустышка» или « true" когда-либо, когда он должен печатать их 24 раза в моем тестировании) не могу понять, почему
dom/i
, так как это целочисленное деление. - person zero298   schedule 05.11.2019i >= dom
— каков текстDomin.getText()
и, следовательно, значениеdom
? Вы начинаете сi = 0
и проверяете, является лиi
БОЛЬШЕ ИЛИ РАВНОdom
, поэтому, еслиdom
не является отрицательным числом, это никогда не зациклится. - person Stephen P   schedule 05.11.2019