したがって、私はコンソールでユーザーから倍精度を取り入れて配列にそれらの倍精度を格納する割り当てを持っています。これらの倍数は実際に私が後で使用する座標になります。ユーザー入力は、配列に格納されるdouble型です。配列のサイズは不明であり、動的に拡張する必要があります
プログラムは、ユーザから未知の量のダブルを取ることができます。私が抱えている問題は、配列サイズを動的に拡大できることです。 arrayListやjavaライブラリのコレクションクラスは使用できません。
import java.util.Scanner;
public class testMain{
public static void main(String[] args){
Scanner userInput = new Scanner(System.in);
boolean debug = true;
//Two array's where i'll store the coordinates
double[] coord1 = new double[3];
double[] coord2 = new double[3];
//Array for user commands
String[] commands = { "random", "exit", "help"};
for(int i = 0; i < coord1.length; i++){
System.out.println("Enter Coordinates: ");
double index = userInput.nextDouble();
//If more doubles needed for array we want to resize array
if(coord1[i] >= coord1.length){
for(int j = 0; j < 10; j++){
coord1[j] = j + 10;
}
double newItems[] = new double[20];
System.arraycopy(coord1, 0, newItems, 0 ,10);
coord1 = newItems;
}
coord1[i] = index;
}
if(debug == true){
printArray(coord1);
}
}
public static void printArray(double arr[]){
double n = arr.length;
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
}
}
私はサイズを大きくし、より多くの倍のためのループを継続するためにコードを実行するためにcoord1の終わりに到達したときに認識する方法を見つけ出すように見えることはできません。ここに私はこれまで持っているものです。
その後、コンソールからの空のエントリがループを終了し、配列を表示する必要があります。
関連:http://stackoverflow.com/questions/1647260/java-dynamic-array-sizes?rq=1あなたはおそらく 'たい –
場合(I == coord1 (i、i)はインデックス(0,1,2,3,4、...)であり、 'coord [i]'はindex-iのコンテンツ(あなたの場合は座標) –