Java 阵列旋转程序的最佳动态阵列分配技术
我制作了一个数组旋转程序,允许用户输入九个数字(九个只是为了测试它是否有效)。这九个数字将存储在一个数组中,并在rotateArray()函数中旋转。我正试图让用户能够输入他们想要的任意数量的数字。arraylist是动态分配阵列容量的最佳方式吗Java 阵列旋转程序的最佳动态阵列分配技术,java,arrays,dynamic,Java,Arrays,Dynamic,我制作了一个数组旋转程序,允许用户输入九个数字(九个只是为了测试它是否有效)。这九个数字将存储在一个数组中,并在rotateArray()函数中旋转。我正试图让用户能够输入他们想要的任意数量的数字。arraylist是动态分配阵列容量的最佳方式吗 int[] userArray = new int[9]; System.out.println("This program can also rotate arrays.\n" + "Enter 9 sing
int[] userArray = new int[9];
System.out.println("This program can also rotate arrays.\n" +
"Enter 9 single digit integers separated by spaces");
for(int i = 0; i<userArray.length; i++)
{
userArray[i] = scan.nextInt();
}
System.out.println("The array you entered is: " + Arrays.toString(userArray) +"\n"+
"When your array is rotated, it looks like this: \n" +
Arrays.toString(rotateArray(userArray)));
int[]userArray=newint[9];
System.out.println(“此程序还可以旋转数组。\n”+
“输入9个以空格分隔的单位数整数”);
对于(int i=0;i
arraylist是动态分配阵列容量的最佳方式吗
int[] userArray = new int[9];
System.out.println("This program can also rotate arrays.\n" +
"Enter 9 single digit integers separated by spaces");
for(int i = 0; i<userArray.length; i++)
{
userArray[i] = scan.nextInt();
}
System.out.println("The array you entered is: " + Arrays.toString(userArray) +"\n"+
"When your array is rotated, it looks like this: \n" +
Arrays.toString(rotateArray(userArray)));
是的,你可以使用ArrayList。但是最好的方法是说“是”会是一个大胆的回答,但显然在这种情况下使用更好
在给定场景中,它可以这样使用:
//an arraylist
ArrayList<Integer> userArrayList = new ArrayList<Integer>();
System.out.println("This program can also rotate arrays.\n" + "Enter any numbers, type 'end' when you finish");
//flag for while loop, in case the user prompts "end"
boolean endNotPrompted = true;
//scanner
Scanner scan = new Scanner(System.in);
while(endNotPrompted) {
//if user input is a number
if(scan.hasNextInt() == true) {
int num = scan.nextInt();
userArrayList .add(num);
}
//if not a number, checks if the user wants to finish entering numbers
else if(scan.nextLine().equals("end")) {
endNotPrompted = false;
}
}
scan.close();
/*
*rest of your code
*/
//数组列表
ArrayList userArrayList=新的ArrayList();
System.out.println(“此程序还可以旋转数组。\n”+“输入任何数字,完成后键入'end'”);
//while循环的标志,以防用户提示“结束”
布尔值endNotPrompted=true;
//扫描器
扫描仪扫描=新扫描仪(System.in);
while(endnotpromoted){
//如果用户输入是一个数字
if(scan.hasNextInt()==true){
int num=scan.nextInt();
userArrayList.add(num);
}
//如果不是数字,则检查用户是否希望完成数字输入
else if(scan.nextLine().equals(“end”)){
endNotPrompted=false;
}
}
scan.close();
/*
*代码的其余部分
*/
使用ArrayList时,您不需要知道用户输入的确切大小。“ArrayList是否是动态分配阵列容量的最佳方式?”是的。此外,不清楚您所说的“旋转”是什么意思。如果我输入“1 2 3 4 5 6 7 8 9”,程序将返回“9 8 7 6 4 3 2 1”。很抱歉,我说得不清楚。