import java.util.*;
public class CommaSepratedNumMax
{
public static void main(String args[])
{
Scanner san = new Scanner(System.in);
ArrayList <Integer> Al = new ArrayList<Integer>();
String line;
String[] lineVector;
System.out.println("enter the series");
line = san.nextLine();
lineVector = line.split(",");
for(int i=0;;i++)
{
Al.add(i,Integer.parseInt(lineVector[i]));
}
int max=Al.get(0);
for(int i=0;i<Al.size();i++)
{
if (Al.get(i)>max)
max=Al.get(i);
}
System.out.println("max no in series is="+max);
}
}
我想终止循环,当数字没有留在逗号分隔的字符串中但我没有找到条件...
答案 0 :(得分:0)
保持你的循环,不需要其他任何东西
for(int i = 0; i&lt; lineVector.length; i ++)
答案 1 :(得分:0)
当您使用split()函数时,它会使用由&#39; - &#39;分隔的元素填充您的String数组。喜欢,&#34;我做得很好&#34;将被指定为lineVector [0] = i,lineVector [1] = am,lineVector [2] =正在执行等等。所以,如果你使用
for(int i=0;i<=lineVector.length;i++)
{
Al.add(i,Integer.parseInt(lineVector[i]));
}
这里的断点是String数组长度,这是正常情况。
答案 2 :(得分:0)
您可以使用enhanced for loop并取消循环条件本身。另外,你可以避免所有的计数索引 - 非常混乱。它来自Java 5
我相信
for(String input:lineVector)
{
Al.add(i,Integer.parseInt(input));
}