我试图创建一个项目,要求用户猜测一个数字并继续猜测,直到他们猜出我确定的数字(即45),然后取所有猜测的平均值。我该怎么做?我以下所拥有的是我尝试过的一种,但实际上是关闭的。
我尝试做的是将所有输入的数字放入一个数组中,然后使用for循环查找数组中数字的总和,然后除以项目数。
System.out.println("Guess a number");
int a = 45;
int input = scan.nextInt();
int numbers[] = new int[input];
double total = 0;
Scanner scan = new Scanner(System.in);
for (int i=0; i!=999; i++) {
System.out.println("You guessed wrong. Guess again");
numbers[i] = scan.nextInt();
if (input==a) {
total = total + numbers[i];
System.out.println("You guessed right");
}
}
System.out.println("The average of your inputted numbers is "+total/input);
答案 0 :(得分:0)
您可以使用ArrayList完成此操作。这些是动态的,允许您添加和删除元素。首先导入ArrayList:
import java.util.ArrayList;
这是您创建的代码,已修改为使用数组列表。我没有测试过,但应该可以使用。
List<Integer> numbers = new ArrayList<>();
System.out.println("Guess a number");
int a = 45;
Scanner scan = new Scanner(System.in);
int input = scan.nextInt();
double total = 0;
for (int i=0; i!=999; i++) {
input = scan.nextInt();
if (input != a)
{
System.out.println("You guessed wrong. Guess again");
numbers.add(input);
}
else if (input == a){
numbers.add(input);
System.out.println("You guessed right");
break;
}
}
for (int i = 0; i < numbers.size(); i++)
{
total += numbers.get(i);
}
System.out.println("The average of your inputted numbers is "+total/numbers.size());
执行此代码后,我意识到它可能与原始程序有不同的结果;但是,我相信这可能是你想要的。祝你好运。