我是数组新手......我很难理解数组如何在这个CODE中工作...... 我正在冒泡。我唯一不理解的是,变量d可以放在变量数组中吗?
import java.util.Scanner;
public class bubbleSort
{
public static void main(String []args)
{
int n, c, d, swap;
Scanner in = new Scanner(System.in);
System.out.print("Input number of integers to sort");
n = in.nextInt();
int array[] = new int[n];
System.out.println("Enter " + n + " integers");
for (c = 0; c < n; c++)
array[c] = in.nextInt();
for (c = 0; c < ( n - 1 ); c++)
{
for (d = 0; d < n - c - 1; d++)
{
if (array[d] > array[d+1])
{
System.out.println("array d:" + array[d]); // value is 5
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
System.out.println("Sorted list of numbers");
for (c = 0; c < n; c++)
System.out.println(array[c]);
}
}
答案 0 :(得分:1)
当它处于循环中时,它不是变量。 d
变量将被赋予一个数值。在你的情况下,每次循环运行d
将具有从0到nc-1的值,这将使数组[0],数组[1] .. ......所以这将通过以下示例说明:
假设你有一个名为:
int[] array={1,2,3,4,5};
所以当你使用for循环遍历这个数组时:
for (int i = 0; i< 5; i++)
system.out.println(array[i]);
}
每次循环运行数组都会像
array[0]
array[1]
array[2]
array[3]
array[4]
并打印出类似
的值1
2
3
4
5
分别
这表明变量i
不被视为变量,而是数值
答案 1 :(得分:0)
数组的索引从数组的0
开始到长度为1。所以索引只能有数值(整数)。
如果你在下面这样做,它将无法工作(长,浮动,双重)
long c=1;
int arr[]={1,2,3};
System.out.println(arr[c]);//this will not work as index is long
如果要将任何索引变量与 int(short,byte,char)兼容,则可以从数组中获取值。
int c=1;
int arr[]={1,2,3};
System.out.println(arr[c]);// this will work fine and print element at index 1 and that is 2
对于后一个代码,输出为2。