【发布时间】:2023-03-30 02:45:01
【问题描述】:
我的任务是使用诸如插入排序之类的排序方法,按照用户输入的降序创建一个双精度(或浮点)数组。
我尝试在整个代码中操纵数字值。它不断抛出“索引 -1 超出长度 50 的范围”
public static void main(String args[])
{
int size, i, j;
Double temp;
Double arr[] = new Double[50];
Scanner scan = new Scanner(System.in);
System.out.print("Enter Number of Elements : ");
size = scan.nextInt();
System.out.print("Enter the Elements : ");
for(i=0; i<size; i++)
{
arr[i] = scan.nextDouble();
}
for(i=0; i<size; i++)
{
temp = arr[i];
j = i - 1;
while((temp <= arr[j]) && (j >= 0))
{
arr[j+1] = arr[j];
j = j - 1;
}
arr[j+1] = temp;
}
System.out.print("Elements Sorted : \n");
for(i=0; i<size; i++)
{
System.out.print(arr[i] + " ");
}
}
}
【问题讨论】:
-
您应该为您使用的语言添加一个标签。
-
当然可以!我修好了。
-
它有效,我明白为什么。谢谢!
标签: java arrays double reverse insertion-sort