您好,
我是Java新手并试图弄清楚如何将这些数据推入数组(6行,3列)?
x1 John 6
x2 Smith 9
x3 Alex 7
y1 Peter 8
y2 Frank 9
y3 Andy 4
之后,我将从最后一栏获取数字进行数学计算。
这是我的代码......
public class Testing {
public static void main(String[] args) {
Employee eh = new Employee_hour();
Employee_hour [] eh_list = new Employee_hour[6];
eh_list[0] = new Employee_hour("x1", "John", 6);
eh_list[1] = new Employee_hour("x2", "Smith", 9);
eh_list[2] = new Employee_hour("x3", "Alex", 7);
eh_list[3] = new Employee_hour("y1", "Peter", 8);
eh_list[4] = new Employee_hour("y2", "Frank", 9);
eh_list[5] = new Employee_hour("y3", "Andy", 4);
print(eh_list);
}
private static void print(Employee_hour[] mass){
for (int i = 0; i < mass.length; i++) {
System.out.print(mass[i] + " ");
}
System.out.println();
}
}
但我把它作为输出......
testing.Employee_hour@1a752144 testing.Employee_hour@7fdb04ed testing.Employee_hour@420a52f testing.Employee_hour@7b3cb2c6 testing.Employee_hour@4dfd245f testing.Employee_hour@265f00f9
如何从最后一栏获得数字?
答案 0 :(得分:9)
为什么不为您的记录创建特定的Java bean?
class Person {
String id;
String name;
int anotherNumber;
// constructor, getters, setters
}
然后像这样使用它:
Person [] people = new Person[10];
people[0] = new Person("x1", "John", 6);
...
或者更好地使用java.util.List
代替数组。
字段访问
要访问单独的字段,您需要将字段公开(非常糟糕)并简单地将其称为object_instance.field_name
,或者提供所谓的getter:
class Person {
String id;
String name;
int anotherNumber;
// constructor, getters, setters
public int getAnotherNumber() {
return anotherNumber;
}
}
然后在打印时调用它:
for (int i = 0; i < mass.length; i++) {
System.out.print(mass[i].getAnotherNumber() + " ");
}
为什么你尝试的不起作用:
在您的情况下, System.out.println(mass[0])
将打印整个对象表示,默认情况下会打印它在您的情况下执行的操作。要做得更好,您需要覆盖Object
的{{1}}方法:
String toString()
答案 1 :(得分:3)
Java是强类型的,所以你不能只创建一个接受任何类型的数组
但是,您可以创建类型为Object
的多维数组,并使用java.lang.Integer
作为整数值。
另一种方法是创建一个表示表中行的类,并创建该类的数组。
答案 2 :(得分:2)
如果你想把它存储为数组用户2维数组。这是一个样本。
String[][] a2 = new String[10][5];
for (int i=0; i<a2.length; i++) {
for (int j=0; j<a2[i].length; j++) {
a2[i][j] = i;
System.out.print(" " + a2[i][j]);
}
System.out.println("");
}
}
更好的方法是创造一个对象
class User {
String id;
String userName;
int userSomeValue;
//
}
然后将其推送到列表
User ob1=new User();
// set the values.
List<User> userList=new ArrayList<User>();
userList.add(ob1);
使用此列表通过使用
重新检索内容进行处理userList.get(index);
答案 3 :(得分:1)
Array
是一个类型安全的集合,您可以使用通用对象数组。其他方式使用collection Api
。
答案 4 :(得分:0)
有一些方法可以将数据存储在数组中,但只能在同一个数组中存储相同类型的值。例如,String,int或float。在您的情况下,您必须使用String,但即使它包含数字,您也无法使用字符串类型变量进行任何计算。我会建议maksimov描述的方式。