如何解决数组常量只能在初始化器错误中使用
| 考虑:public proj 3 {
static string [][]Item;
public static void main(String [] args){
Item[][] = {
{\"BH,\",\"Backhoe,\"200.00\"},{\"ER,\"Electric Rake,\"10.00\"},{\"EL,\"Electric Lawnmower,\"15.00\"},{\"TR,\"Trencher\",\"35.00\"},{\"MU,\"Mulcher,\"20.00\"},{\"TS,\"Tree Sprayer,\"22.00\"},{\"CP,\"cider Press,\"30.00\"},{\"PR,\"Pruner,\"12.00\"},{\"GE,\"Gas Edger,{\"RO,\"Roller,\"8.00\"},
我该如何做才能从其他方法调用数组?
解决方法
这意味着您必须像这样初始化它:
public class Proj3{
public static String [][] Item = {
{\"BH,\",\"Backhoe,\"200.00\"},{\"ER,\"Electric Rake,\"10.00\"},{\"EL,\"Electric Lawnmower,\"15.00\"},{\"TR,\"Trencher\",\"35.00\"},{\"MU,\"Mulcher,\"20.00\"},{\"TS,\"Tree Sprayer,\"22.00\"},{\"CP,\"Cider Press,\"30.00\"},{\"PR,\"Pruner,\"12.00\"},{\"GE,\"Gas Edger,{\"RO,\"Roller,\"8.00\"}
};
public static void main(String [] args){
...
}
如果要使用数组初始化器,则不能拆分声明和赋值。
, 您有两种选择:
在声明中
private static String[][] item = {...};
要么
在其他地方使用new
关键字
private static String[][] item = new String[][]{...}
另外,您需要将public proj
更改为public class
, 我不确定100%是否正确理解了您的意思,但是您可以通过完全限定它来引用静态类成员。
public class MyClass {
// static class member
public static String myStaticArray;
// non-static class method
public void myMethod() {
MyClass.myStaticArray = {...}; // do stuff
}
}
, 您可以像这样全局地声明多维数组:
String [][] 2DArray;
然后在main方法中进行如下初始化:
2DArray = new String[][] {
{\"array_element_0\",\"array_element_1\"},{\"array_element_2\",\"array_element_3\"},...
};
, 如果您的目标是:1.在某处声明它; 2.在其他地方初始化它; 3.仍要使用{...}格式。
这将起作用:
public proj 3 {
static string [][]Item;
public static void main(String [] args) {
string[][] _Item = {
{\"BH,\"8.00\"}
};
Item = _Item;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。