Java程序高低游戏
我在jQuery中写了这个,但是循环不正确,我看不到我的错误?当用户输入-99时,它不会结束?也不计算最高和最低的数字Java程序高低游戏,java,Java,我在jQuery中写了这个,但是循环不正确,我看不到我的错误?当用户输入-99时,它不会结束?也不计算最高和最低的数字 import java.util.Scanner; public class LargestandSmallest { public static void main (String [] args) { //Create a Scanner object for the keyboard input Scanner key
import java.util.Scanner;
public class LargestandSmallest
{
public static void main (String [] args)
{
//Create a Scanner object for the keyboard input
Scanner keyboard = new Scanner(System.in);
//Declare local variable
double number;
//Explain what the program does
System.out.println ("This program will ask you to enter in a series of");
System.out.println ("numbers, and then will display the lowest and");
System.out.println ("highest numbers, out of what you enter, until you input");
System.out.println ("the value indicated to end the program.");
//Have the user input a series of numbers and continue processing
//until the user enters -99
System.out.println ("Please enter a number: (or -99 to end the program).");
number = keyboard.nextDouble();
//Display the table headings
System.out.println ("Lowest\tHighest");
System.out.println ("------------------");
//Call the method to caluclate the highest and lowest numbers
calculateLowHigh(number);
}
//Module called calculateTemp
public static void calculateLowHigh(double number)
{
//Declare local calculation variables
double highestNumber = 0;
double lowestNumber = 0;
//Set the parameters for running the loop
while (number != -99)
{
for(number = 0; number < 5; number++)
{
//Calculate the lowest and highest numbers entered
if (number > highestNumber) {
highestNumber = number;
}
if (number < lowestNumber) {
lowestNumber = number;
}
}
}
//Display the results
System.out.println (lowestNumber + "\t\t" + highestNumber);
}
}
import java.util.Scanner;
公共类大而小
{
公共静态void main(字符串[]args)
{
//为键盘输入创建扫描仪对象
扫描仪键盘=新扫描仪(System.in);
//声明局部变量
双数;
//解释程序的功能
System.out.println(“此程序将要求您输入一系列数据”);
System.out.println(“数字,然后将显示最低和”);
System.out.println(“最高数字,超出您输入的范围,直到您输入”);
System.out.println(“表示结束程序的值”);
//让用户输入一系列数字并继续处理
//直到用户输入-99
System.out.println(“请输入一个数字:(或-99结束程序)。”;
数字=键盘.nextDouble();
//显示表格标题
System.out.println(“最低\最高”);
System.out.println(“------------------------”;
//调用该方法计算最高和最低数字
计算高度(数字);
}
//名为calculateTemp的模块
公共静态无效计算高(双倍数字)
{
//声明局部计算变量
双高数=0;
双下限数=0;
//设置运行循环的参数
while(数字!=-99)
{
用于(数字=0;数字<5;数字++)
{
//计算输入的最低和最高数字
如果(编号>最高编号){
最高数量=数量;
}
如果(编号<最低编号){
最低数量=数量;
}
}
}
//显示结果
System.out.println(最低编号+“\t\t”+最高编号);
}
}
您的问题是,在计算中,您将数字
变量用于两种不同的事情。它是将用户键入的数字传递到此方法中的参数;但您也将其用作for
循环中的循环索引。也许你应该使用一个不同的变量作为一个或另一个目的。更好的是,完全省去for
循环——它似乎什么都没做
另外,while
循环应该在main
中执行,而不是在calculateHighLow
中执行,否则,用户将只有机会输入一次数字。如果您的for
循环只上升到5
,那么数字在中如何达到-99
而循环?使用=
比较双精度是个坏主意。检查。