如果我尝试将两个单独的int值应用于在字符串数组中输入的值,我将如何进行此操作?我尝试了很多方法,甚至是可能的。例如,我在一个单独的项目中测试了一小段代码:
public static void main(String [] args) {
Cards gaI = new Cards("Example 1", "Attack", 5, "Defense", 5);
Cards abI = new Cards("Example 2", "Attack", 5, "Defense", 10);
Cards aII = new Cards("Example 3", "Attack", 5, "Defense", 10);
Cards [] cards = new Cards [3];
cards [0] = gaI; //
cards [1] = abI;
cards [2] = aII;
//for (int i = 0; i < cards.length; i++){
for (Cards c : cards){
System.out.print(c);
}
}
}
我想要做的是设置两个不同的数组,或者只有一个数字值,并将其应用于上面的每个对象,为它们提供自己的设置值。仅仅使用每个Object更有意义,而不是将它们作为对象,只需将它们声明为变量,然后在同一个类中单独添加所有其他数据?让它们以适当的格式打印是很容易的部分。我希望能够使int值成为每张卡的永久值。类似于Yu-Gi-Oh卡。我希望我能正确地问这个问题。
答案 0 :(得分:0)
您可以使用简单循环
同时迭代多个数组int[] intValues1 = ...;
int[] intValues2 = ...;
String[] stringValues = ...;
// if you are sure the arrays have the same length, this will work OK for you
for (int i = 0; i < intValues1.length; i++) {
Card c = new Card(stringValues[i], intValues1[i], intValues2[i]);
...
}
如果数组的长度不同,则需要调整循环条件,否则可能会出现IndexOutOfBounds异常,例如:像这样
for (...; i < intValues1.length && i < intValues2.length && i < stringValues.length; ...)
使Card
中的值永久
class Card {
final String stringVal;
final int intVal1;
final int intVal2;
public Card(stringVal, intVal1, intVal2) {
this.stringVal = stringVal;
this.intVal1 = intVal1;
this.intVal2 = intVal2;
}
}
显然,只为班级定义吸气剂。