【发布时间】:2020-01-30 17:30:36
【问题描述】:
`我在一个数组中给出了 6 个值,但我希望它是动态的,这样我就不会因为我给出的输入而得到一个数组越界异常。例如,我希望同一行中的“PRINT”不在换行符中。
控制台输入
```
4
3.176 2
0.5 0.5
4 4
2 4
1 1.5 4 4 PRINT
从控制台获取输入的主类。
public static void main(String args[]) throws IOException
{
Scanner scanner = new Scanner(System.in);
int numpoints = 6;
BoundingBox b = new BoundingBox(numpoints);
double x[] = new double[6];
int counter = 0;
while(scanner.hasNext()){
String line = scanner.nextLine();
if(line.equals("PRINT")){break;}
//Inorder to use TEST WITH COUNT PLEASE UNCOMMENT IT .
//if(line.equals("COUNT")){break;}
String lineArr[] = line.split(" ");
Double xD = Double.valueOf(lineArr[0]);
x[0] = (double)xD;
if(counter == 0) {
x[1] = 0.0;
counter++;
}else {
Double yD = Double.valueOf(lineArr[1]);
x[1] = (double)yD;
}
Double zD = 0.0;
if(lineArr.length>=6){
zD = Double.valueOf(lineArr[2]);
x[2] = (double)zD;
Double wD = 0.0;
wD = Double.valueOf(lineArr[3]);
x[3] = (double)wD;
Double yD = 0.0;
yD = Double.valueOf(lineArr[4]);
x[4] = (double)yD;
Double id=0.0;
yD = Double.valueOf(lineArr[5]);
x[5] = (double)id;
}
//System.out.println("xD, yD, zd, wd)= "+xD+"+"+"+zD+"+" + wD+");
b.build(x);
}
System.out.println("\n ");
b.putNew();
}
【问题讨论】: