loops - 当使用 while 循环输入负数时,停止接收 Arraylist 的用户输入
问题描述
我目前正在制作一个程序,它将用户输入添加到一个名为 score 的 arrayList 中,当输入一个负数时,它会从 while 循环中中断。
我目前正在尝试代码,但是我目前在 else-if 语句中遇到了布尔运算符的问题。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Lab03_Part_1
{
public static void main(String[] args)
{
double sum;
double avg;
int i;
boolean acceptableScore = true;
List<Integer> score = new ArrayList<Integer>();
Scanner scanner = new Scanner(System.in);
while (acceptableScore)
{
if ((score >= 0) && (score <= 100))
{
System.out.println("Enter Student Score: ");
score.add(scanner.nextInt());
}
else if (score > 100)
{
System.out.println("that is not an acceptable Score");
}
else
{
break;
}
}
}
}
这是我得到的当前错误。
The operator >= is undefined for the argument type(s) List<Integer>, int
The operator <= is undefined for the argument type(s) List<Integer>, int
The operator > is undefined for the argument type(s) List<Integer>, int
根据我对此错误消息的理解,主要问题是我在创建 ArrayList 时使用了 Integer,但是 boolean 需要 int?我对编码很陌生,所以这个问题对我来说是新的领域。
我不是在找人为我编写代码,但我非常感谢有人能提供的任何帮助,谢谢。
解决方案
问题
您直接将用户输入添加到 ArrayList。
你应该做什么:
将输入存储在变量中,对其进行检查并采取相应措施。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Lab03_Part_1
{
public static void main(String[] args)
{
double sum;
double avg;
int s;
boolean acceptableScore = true;
List<Integer> score = new ArrayList<Integer>();
Scanner scanner = new Scanner(System.in);
while (acceptableScore)
{
s = scanner.nextInt();
if ((s >= 0) && (s <= 100))
{
System.out.println("Enter Student Score:");
score.add(s);
}
else if (s > 100)
{
System.out.println("that is not an acceptable Score");
}
else
{
break;
}
}
scanner.close();
}
}
推荐阅读
- javascript - 如何检测是否有人在打字但没有发送消息?
- ms-access - MS Access 从两个表中选择
- python - 遍历元组列表一次
- r - 当通过减去 2 个不同的列和 2 个静态对象来使用 Mutate 时,新列是静态的,这是错误的
- ios - 为什么我的第一页在 Xcode 中是这样的?
- reactjs - 使用异步获取反应钩子
- java - mOnGridImageSelectedListener 错误,检索数据和图片但崩溃
- sharepoint - SharePoint 获取项目未返回所有列
- amazon-dynamodb - 从停止的地方恢复并行扫描
- rust - 解码存储在数据库中的数据