public class My {
float[] arr=new float[]{0.1f,0.2f};
arr[0]=0.2f;
public static void main(String []args) {
My my= new My();
System.out.println(my.arr[0]);
}
}
我收到了错误:
My.java: 4 : error: ']' expected
arr[0]=0.2f;
^
My.java: 4 : error: ';' expected
arr[0]=0.2f;
^
My.java: 4 : error: illegal start of type
arr[0]=0.2f;
^
My.java: 4 : error: <identifier> expected
arr[0]=0.2f;
^
有没有办法使用arr[0]=somevalue;
?就像他们在C中做的那样?
答案 0 :(得分:4)
您可以修复arr
的初始值设定项,以便从头开始保持正确的值
float[] arr=new float[]{0.2f,0.2f};
或者您可以更改类以更改构造函数中的值:
public class My {
float[] arr=new float[]{0.1f,0.2f};
public My() {
arr[0]=0.2f;
}
...
}
答案 1 :(得分:1)
在block or function
内声明数组,而不使用Array as field
public class My{
public static void main(String[] args) {
float[] arr = new float[] { 0.1f, 0.2f };
arr[0] = 0.2f;
//My my = new My();
System.out.println(arr[0]);
}
}
使用构造函数
作为字段的数组public class My{
private float[] arr = null;
private My() {
arr = new float[] { 0.1f, 0.2f };
}
public static void main(String[] args) {
My my = new My();
System.out.println(my.arr[0]);
}
}
答案 2 :(得分:1)
您可以修复arr值的初始化程序并在类中声明数组。
public class My
{
public static void main( String[] args )
{
My my = new My();
System.out.println( my.arr[0] );
}
private float[] arr = new float[]
{ 0.1f, 0.2f };
}