None 的打印命令产生了输出,但程序仍然没有错误地执行 java- eclipse
None of the print commands produce output, but the program still executes without errors java- eclipse
我正在研究 Java 并且显然对它很陌生。我有一个看起来可以正常工作的应用程序,但是它没有像预期的那样向控制台 window 产生任何输出——它也没有给出任何令人困惑的错误。我正在使用 Eclipse。我将非常感谢第二组眼睛来发现我做错了什么。那里有一些代码来自尝试不同的方法来让它工作 - 我稍后会删除它。
我的问题是:为什么我的程序没有产生输出?作为后续行动:为什么它没有产生输出,为什么不产生某种错误?
我已经研究了几天,我找到的最接近的是这篇文章,虽然它很相似,但并不真正适用于这种情况。
System.out.print() doesn't send any output to Eclipse console. Why?
*已编辑 - 缩短了代码并添加了有关如何修复的评论。
我有 2 类 - 学生和花名册。
花名册:
//** client class....*/
import java.util.ArrayList;
import java.util.Arrays;
public class Roster {
/* String copied from the instructions, adding info as the last item*/
static String[] students = {"1,John,Smith,John1989@gmail.com,20,88,79,59",
"2,Suzan,Erickson,Erickson_1990@gmailcom,19,91,72,85",
"3,Jack,Napoli,The_lawyer99yahoo.com,19,85,84,87"};
static ArrayList<Student> studentProfiles = new ArrayList<Student>();
public static void main(String[] args) {
//creating the arraylist - rather, converting a string of arrays to an Array list of student objects
{
for (int i = 0; i < students.length; i++) {
String component = students[i];
String[] terms = component.split(",");
String studentID = terms[0];
String firstName = terms[1];
String lastName = terms[2];
String emailAddress = terms[3];
String age = terms[4];
int grade1 = Integer.parseInt(terms[5]);
int grade2 = Integer.parseInt(terms[6]);
int grade3 = Integer.parseInt(terms[7]);
Student student = new Student(studentID, firstName, lastName, emailAddress, age, grade1, grade2, grade3);
studentProfiles.add(student);
}
}
}
//test just to generate output, didn't work. <-- Moving this inside the main generated the output I needed.
{
System.out.println(studentProfiles);
}
///
/// enter methods here
///
//
}
//other print all attempt
//-->> Put inside main
public static void print_all()
//-->> Put inside main
System.out.println(j);
`enter code here`
//-->> Put inside main
print_all();
print_invalid_emails();
print_average_grade(student);
remove("3");
remove("3");
//}
//}
}
}
您需要将打印放在 main 方法中。
您正在使用的区块:
{
System.out.println(studentProfiles);
}
称为Initializer块,在调用Roaster的构造函数时调用。
尝试将 System.out.println(studentProfiles);
放入 Main()
方法中。
也看看这个:
https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
我正在研究 Java 并且显然对它很陌生。我有一个看起来可以正常工作的应用程序,但是它没有像预期的那样向控制台 window 产生任何输出——它也没有给出任何令人困惑的错误。我正在使用 Eclipse。我将非常感谢第二组眼睛来发现我做错了什么。那里有一些代码来自尝试不同的方法来让它工作 - 我稍后会删除它。
我的问题是:为什么我的程序没有产生输出?作为后续行动:为什么它没有产生输出,为什么不产生某种错误?
我已经研究了几天,我找到的最接近的是这篇文章,虽然它很相似,但并不真正适用于这种情况。 System.out.print() doesn't send any output to Eclipse console. Why?
*已编辑 - 缩短了代码并添加了有关如何修复的评论。 我有 2 类 - 学生和花名册。
花名册:
//** client class....*/
import java.util.ArrayList;
import java.util.Arrays;
public class Roster {
/* String copied from the instructions, adding info as the last item*/
static String[] students = {"1,John,Smith,John1989@gmail.com,20,88,79,59",
"2,Suzan,Erickson,Erickson_1990@gmailcom,19,91,72,85",
"3,Jack,Napoli,The_lawyer99yahoo.com,19,85,84,87"};
static ArrayList<Student> studentProfiles = new ArrayList<Student>();
public static void main(String[] args) {
//creating the arraylist - rather, converting a string of arrays to an Array list of student objects
{
for (int i = 0; i < students.length; i++) {
String component = students[i];
String[] terms = component.split(",");
String studentID = terms[0];
String firstName = terms[1];
String lastName = terms[2];
String emailAddress = terms[3];
String age = terms[4];
int grade1 = Integer.parseInt(terms[5]);
int grade2 = Integer.parseInt(terms[6]);
int grade3 = Integer.parseInt(terms[7]);
Student student = new Student(studentID, firstName, lastName, emailAddress, age, grade1, grade2, grade3);
studentProfiles.add(student);
}
}
}
//test just to generate output, didn't work. <-- Moving this inside the main generated the output I needed.
{
System.out.println(studentProfiles);
}
///
/// enter methods here
///
//
}
//other print all attempt
//-->> Put inside main
public static void print_all()
//-->> Put inside main
System.out.println(j);
`enter code here`
//-->> Put inside main
print_all();
print_invalid_emails();
print_average_grade(student);
remove("3");
remove("3");
//}
//}
}
}
您需要将打印放在 main 方法中。
您正在使用的区块:
{
System.out.println(studentProfiles);
}
称为Initializer块,在调用Roaster的构造函数时调用。
尝试将 System.out.println(studentProfiles);
放入 Main()
方法中。
也看看这个: https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html