public class Main {
public static void main(String[] args) {
java.util.ArrayList<StudentDataArray> info = new java.util.ArrayList<StudentDataArray>();
int amountOfPeople = KeyboardInput.promptForInt("Enter how many people you plan to enter into the list.");
for(int a=0;a<amountOfPeople;a++) {
try {
double[] grade = new double[5];
grade[0]=KeyboardInput.promptForDouble("Enter the First grade");
grade[1]=KeyboardInput.promptForDouble("Enter the Second grade");
grade[2]=KeyboardInput.promptForDouble("Enter the Third grade");
grade[3]=KeyboardInput.promptForDouble("Enter the Fourth grade");
grade[4]=KeyboardInput.promptForDouble("Enter the Fifth grade");
info.add(new StudentDataArray(KeyboardInput.promptForString("Enter the First Name"),KeyboardInput.promptForString("Enter the Last Name"),grade,KeyboardInput.promptForChar("Enter the Final Grade")));
}catch(IllegalArgumentException e){
System.out.println("Hello World :)");
}
}
for(int b=0;b<amountOfPeople;b++) {
System.out.printf("%-10s %-10s %-3f %-3s",info.get(b).getFN(),info.get(b).getLN(),info.get(b).getTS(),info.get(b).getFG());
}
}
}
public class StudentDataArray {
private String firstName;
private String lastName;
private double[] testScore;
private char finalGrade;
public StudentDataArray(String FN, String LN, double[] TS, char FG) {
firstName = FN;
lastName = LN;
testScore = TS;
finalGrade = FG;
}
public void setFN(String FN) {firstName = FN;};
public void setLN(String LN) {lastName = LN;}
public void setTS(double[] TS) {testScore = TS;}
public void setFG(char FG) {finalGrade = FG;}
public String getFN() {return firstName;};
public String getLN() {return lastName;}
public String getTS() {
for(int a=0;a<testScore.length;a++) {
return testScore[a]+" ";
}
return null;
}
public char getFG() {return finalGrade;}
}
嘿伙计们,这是我所有要看的代码。我想要做的是将多个双打返回到代码中的一个位置。看起来像是......
Ethan Michael 10 20 30 40 50 A
这一切都显示在一个语句中 [10 20 30 40 50]
因为我正在使用双[]我不确定如何解决这个问题。
谢谢你们!
答案 0 :(得分:1)
你可以使用for语句将所有信息连接成一个变量,然后打印出来。
答案 1 :(得分:1)
以下是您如何在一条简洁的线条中完成的工作:
String s = Arrays.toString(testScores).replaceAll("[\\[\\],]", "");
你可以在任何需要字符串的地方使用这个探索(即等于dign右边的所有内容)。
关键点是使用[Arrays.toString()][1]
,它会生成类似"[10, 20, 30, 40, 50]"
的字符串,然后调用String.replaceAll()
来删除所有标点符号。
答案 2 :(得分:0)
看来你需要这样的东西:
public String getTS() {
returnString := "";
for(int a=0;a<testScore.length;a++) {
returnString += testScore[a]+" ";
}
return returnString;
}
答案 3 :(得分:0)
public String getTS() {
yourString:= "";
for(int a=0;a<testScore.length;a++) {
yourString+= testScore[a]+" ";
}
return ts;
}
答案 4 :(得分:0)
我认为最简单的方法是将GetTS()
转换为类似的内容:
public String getTS() {
String ts = "";
for(int a=0;a<testScore.length;a++) {
ts += testScore[a]+" ";
}
return ts;
}
请注意,Main.java中的格式字符串应更改为"%-10s %-10s %-3s %-3s"
。
答案 5 :(得分:0)
很多答案但没有使用StringBuilder
,建议不要使用循环中的连接。它不会在每次迭代中创建一个新的String对象,因此在资源上更容易。就这样:
public String getTS() {
StringBuilder sb = new StringBuilder();
for(int a=0;a<testScore.length;a++) {
sb.append(testScore[a]+" ");
}
return sb.toString();
}