【发布时间】:2014-09-09 12:19:02
【问题描述】:
我编写了下面的代码来获取整数序列作为输入,并根据用户给出的位置编号k 将它们分成两部分。大于指定数字的数字将被添加到一个列表中,而其他数字将被添加到另一个列表中。
这里'当我运行程序 Variable nums might not have been initialized 时显示编译时错误。谁能给个解决办法。
(由于我是初学者,我在命令提示符下运行 java 程序)
如果您要提供替代方案,请解释发生这种情况的原因。
import java.util.*;
import java.util.Scanner;
class StringSplit{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
List<Integer> part1=new ArrayList<Integer>();
List<Integer> part2=new ArrayList<Integer>();
int k,point=0;
int nums[]; //Declaring variable
System.out.print("\nEnter the point of split : ");
k=input.nextInt();
boolean correct=false;
String numbers;
System.out.print("\nEnter the number list : ");
numbers=input.nextLine();
String numlist[]=numbers.split(" ");
nums=new int[numlist.length]; //Declaring the size
for(int i=0;i<numlist.length;i++){
nums[i]=Integer.parseInt(numlist[i]); //Assigning values to the array
}
point=nums[k-1];
for(int x=0;x<nums.length-1;x++){
if(nums[x]>point) part1.add(nums[x]);
else part2.add(nums[x]);
}
System.out.print("\nPart 1 : ");
for(int i:part1){
System.out.print(" "+i);
}
System.out.print("\nPart 2 : ");
for(int j:part2){
System.out.print(" "+j);
}
}
}
【问题讨论】:
-
您确定发布了实际代码吗?如果是这样标记产生错误的行。 PS:我无法复制它。
-
你确定这不起作用吗?
-
在 OSX 上的 Java 1.8 上为我工作
标签: java arrays compiler-errors