我刚刚遇到了哨兵控制迭代,并且遇到了一些困难。我必须编写一个程序来获取用户使用的里程和加仑数,计算总英里数。我试图使用 -1 作为哨兵值来在用户完成时退出循环,但是当我输入该值时,Java 不会终止程序。相反,它要求加仑的另一个值。如何让它接受第一个输入的哨兵值?
例子:
输入英里或 -1 退出
-1
输入加仑
-1
终止
import java.util.Scanner;
public class Activity3_17 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// processing phase
int miles = 1;
int gallons = 1;
int totalMiles = 0;
int totalGallons = 0;
float mpg = 0;
System.out.println("Enter miles or -1 to exit");
miles = input.nextInt();
System.out.println("Enter gallons");
gallons = input.nextInt();
while (miles != -1) {
System.out.println("Enter miles or -1 to exit");
miles = input.nextInt();
System.out.println("Enter gallons or -1 to exit");
gallons = input.nextInt();
totalMiles = totalMiles + miles;
totalGallons = totalGallons + gallons;
}
if (miles == -1) {
System.out.print("Terminate");
}
else{
mpg = (float) totalMiles / totalGallons;
System.out.println(mpg);
}
}
}
九州编程
大话西游666
潇潇雨雨
肥皂起泡泡
相关分类