将值添加到数组中,并在java中查找最大值
我试图解决这个小问题:用户输入他/她想要的任意多的分数,但一旦输入了小于0或大于100的分数,程序应该停止并从输入的分数中找出最大的分数
我在考虑获取所有标记并将它们添加到数组中(然后我发现使用ArrayList更好,所以我改用了它)
以下是我到目前为止得到的信息:
import java.util.*;
...
Scanner input = new Scanner(System.in);
System.out.println("Enter your mark:");
int mark = input.nextInt();
List<String> list = new ArrayList<String>();
while (mark >= 0 && mark <= 100)
{
list.add(mark);
}
第list.add(mark);
行给了我一个错误,表示找不到添加int的方法
我是java新手,不确定自己是否正确理解了arrayList。如果我错了,有人能纠正我吗?另外,一旦我对向数组中添加值的问题进行排序,我将如何在其中找到最大的数字
# 1 楼答案
对于列表,您可以定义
< >
中包含的项目类型改变
到
# 2 楼答案
mark
是一个int
,您的列表保存String
。你可以换成这个让它发挥作用
但是你有一个无限循环!!将
while
更改为if
以解决此问题# 3 楼答案
要求:用户输入他/她想要的分数,但一旦输入了小于0或大于100的分数,程序应该停止并从输入的分数中找出最大的分数
为什么要使用数组呢?如果你不需要使用数组,那么这个代码段就可以了
# 4 楼答案
在循环中获取输入,您可能希望使用do while循环,以便它至少运行一次。还假设用户是恶意的,会使你的程序崩溃。。因此,使用
try catch block
为这种情况做好准备。我刚刚用了printStackTrace
,但显示了一条更好的错误消息# 5 楼答案
定义列表时,将其定义为类型,然后向列表中添加一个基元int。你需要确保这些匹配
# 6 楼答案
首先,您要声明一个
ArrayList
字符串:-你要给它加一个整数。我会为此大声疾呼的。将你的
List
声明为List<Integer>
其次,每次在
List
中输入内容时,最好保持最大值,以避免以后在List
上使用search
因此,我将修改您的代码:
现在,我让您将
if
转换为do-while
循环,以便继续向用户询问分数