我的数组是:
String[][] name = new String[15][2];
int rowNumber = 0;
我的添加按钮是:
name[rowNumber][0] = firstName.getText();
name[rowNumber][1] = lastName.getText();
我不知道在名为outPut
的TextArea中的列表按钮(列出名字和姓氏)中放什么。
完整代码:
`
public class StudentGradesView extends FrameView {
String[][] name = new String[15][2];
double[][] testMark = new double[15][4];
int rowNumber = 0;
private void btnAddMouseClicked(java.awt.event.MouseEvent evt) {
name[rowNumber][0] = firstName.getText();
name[rowNumber][1] = lastName.getText();
rowNumber ++;
}
private void btnListMouseClicked(java.awt.event.MouseEvent evt) {
String outputStr = "";
for(int i=0; i < rowNumber; i++) {
outputStr += name[rowNumber][0] + " " + name[rowNumber][1] + "n";
}outPut.setText(outputStr);
}
}`
好吧,我想我现在得到你想要的了。
首先我们接受输入。。。
name[numberOfInputs][0] = firstName.getText();
name[numberOfInputs][1] = lastName.getText();
numberOfInputs += 1;
现在你想把它输出到一个文本区域。。。
String outputStr = "";
for(int i=0; i < numberOfInputs; i++) {
outputStr += name[i][0] + " " + name[i][1] + "n";
}
然后设置输出文本区域
outPut.setText(outputStr);
您之所以得到null,是因为您指定了一个静态数组大小,但您(可能)没有用达到该数量的测试用例填充数组。因此,您正在打印数组中根本没有填充的元素。
编辑:用于评论。
String st = "";
for (int i = 0; i < 15; i++)
st += name[i][0] + " " + name[i][1] + "n";
outPut.setText(value);
这将在数组上循环,并创建一个包含所有全名的字符串,用换行符分隔。
然后使用outPut.setText(value);
设置文本
for(String[] s1d : s2d)
for(String s : s1d)
System.out.println(s);
使用for()构造的一种简单方法
将任何阵列打印到任何深度的最简单方法是使用Arrays.deepToString()
:
System.out.println(Arrays.deepToString(array));
试试这个:
import java.util.Arrays;
.
.
.
String[][] a = { { "john" },
{ "jones" }
};
System.out.println(Arrays.deepToString(a)); //whole string array
System.out.println(Arrays.deepToString(a[0])); //john
System.out.println(Arrays.deepToString(a[1])); //jones