Я пытаюсь создать программу, которая вводит значения монет, чтобы давать билеты, но, похоже, она не попадает в первый момент, а когда я запускаю ее в первую очередь, Не принимайте парные (например, 0,1 или 0,5), и независимо от того, какой номер вы вводите, он говорит: «Вот ваш билет и заканчивается! что не так с кодом?Программа, похоже, не вводится, пока
import acm.program.*;
public class tickets extends ConsoleProgram {
public static double eisitirio = 1.2;
public void run(){
double nomisma=readInt("Insert coins and then press 0: ");
boolean synthiki=false;
double poso=0;
while (synthiki=false){
while (nomisma != 0){
if ((nomisma==0.1)||(nomisma==0.2)||(nomisma==0.5)||(nomisma==1)||(nomisma==2)||(nomisma==5)){
poso=poso+nomisma;
}else {
System.out.println("You did not insert a supported coin, please insert another one");
}
nomisma=readInt("Insert coins and then press 0: ");
}
if (poso < eisitirio){
System.out.println("You did not insert enough money, please insert more coins");
}else {
synthiki=true;
}
}
println("Here is your ticket");
poso=poso-eisitirio;
if ((poso/5) > 0){
println("You have change: 5 euros");
poso = poso-5;
}
if ((poso/2) > 0){
println("You have change: 2 euros");
poso = poso-2;
}
if ((poso/1) > 0){
println("You have change: 1 euros");
poso = poso-1;
}
if ((poso/0.5) > 0){
println("You have change: 50 cents");
poso = poso-0.5;
}
if ((poso/0.2) > 0){
println("You have change: 20 cents");
poso = poso-0.2;
}
if ((poso/0.1) > 0){
println("You have change: 10 cents");
poso=poso-0.1;
}
}
}
Попробуйте использовать '==' вместо '='. Один равен средству присваивания, два равны среднему значению для равенства. –