数组实例化

use*_*390 0 java

你能帮我解决这个问题吗?

问题:给出以下数组声明

double readings[];
String urls[];
TicketMachine[] machines;
Run Code Online (Sandbox Code Playgroud)

编写完成以下任务的作业:

  • 使readings变量引用一个能够容纳60个double值的数组
  • 使urls变量引用一个能够容纳90个String对象的数组
  • 使machines变量引用一个能够容纳五个TicketMachine对象的数组

我的答案:

//declare and instantiate object

double readings [] = new double [60];

String urls [] = new String [90];

TicketMachine machines [] = new TicketMachine [5];
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Main.java:16: readings is already defined in main(java.lang.String[])

double readings [] = new double [60];
       ^

Main.java:17: urls is already defined in main(java.lang.String[])

String urls [] = new String [90];
       ^

Main.java:18: machines is already defined in main(java.lang.String[])

TicketMachine machines [] = new TicketMachine [5];
Run Code Online (Sandbox Code Playgroud)

Joh*_*lla 10

声明变量后,您不需要在将来的分配中再次提及它们的类型.

因此,如果您这样做:

int i;
int i = 5;
Run Code Online (Sandbox Code Playgroud)

然后你重新声明了类型i,这是一个错误.相反,只需:

int i;
i = 5;
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,您可以将两者合并为一个语句:

int i = 5;
Run Code Online (Sandbox Code Playgroud)

由于特定示例中的变量已经被声明为特定类型,因此您可以这样做:

readings = ...;
urls = ...;
machines = ...;
Run Code Online (Sandbox Code Playgroud)