【发布时间】:2014-02-26 08:08:09
【问题描述】:
对不起,我是java初学者。我定义了两个数组。其中一种类型是字符串,另一种是整数。现在,我想对它们进行洗牌。假设 id = {12, 45, 78, 23} 和 name = {"math", "physic", "art", "computer"}。例如,在洗牌后,数组将变为 id = {78,45,23,12} 和 name = {"physic", "art", "math", "computer"}。我写了下面的代码,它不起作用。我该如何解决?
public class RandomNumber {
public static void main(String[] args)
{
long[] numbers = new long[4];
Scanner input = new Scanner(System.in);
Random id = new Random(4);
String[] name = new String[4];
for (int i=0; i<=numbers.length; i++)
{
System.out.print("Enter the numbers: ");
numbers[i] = input.nextLong();
}
for (int i=0; i<=numbers.length; i++)
{
int randomPosition = id.nextInt(4);
long temp = numbers[i];
numbers[i] = randomPosition;
numbers[randomPosition] = temp;
}
for (int i=0; i<name.length; i++)
{
System.out.println("Enter the name: ");
name [i] = input.nextLine();
}
for (int i=0; i<name.length; i++)
{
int randomPosition = id.nextInt(4);
String temp = name[i];
name[i] = randomPosition;
name [randomPosition] = temp;
}
for (int i=0; i<numbers.length; i++)
{
System.out.println(i + " ID = " + numbers[i] + " and name = " + name[i]);
}
}
}
【问题讨论】:
-
for (int i=0; i<=numbers.length; i++)- 为什么是=? -
对,我删掉它。
-
仅供参考:“不起作用”不是一个有效的陈述——当你执行你的代码时会发生什么,你期望它做什么,你试图解决你的问题是什么?
-
当我输入数字时,我无法输入名字