Java &引用;错误:找不到符号";关于继承相关程序
我收到一条消息说Java &引用;错误:找不到符号";关于继承相关程序,java,inheritance,netbeans-8,Java,Inheritance,Netbeans 8,我收到一条消息说错误:找不到关于c1的符号。certificateAwarded(等级)语句。我不知道是什么问题。我真的需要所有能得到的帮助 代码如下: ExamDetails.java package Exams; import javax.swing.JOptionPane; public class ExamDetails { public static void main(String[] args) { StudentResults sr = new S
错误:找不到关于c1的符号。certificateAwarded(等级)代码>语句。我不知道是什么问题。我真的需要所有能得到的帮助
代码如下:
ExamDetails.java
package Exams;
import javax.swing.JOptionPane;
public class ExamDetails {
public static void main(String[] args) {
StudentResults sr = new StudentResults();
sr.inputStudentName();
sr.inputExamName();
sr.inputScore();
sr.inputGrade();
sr.DisplayDetails();
Certificates c1 = new Certificates();
c1.certificateAwarded(grade);
}
}
package Exams;
import javax.swing.JOptionPane;
public class StudentResults {
private String fullname;
private String examName;
private int examScore;
private int examGrade;
public String getStudentName()
{
return fullname;
}
public void setStudentName(String name)
{
fullname = name;
}
public String getExamName()
{
return examName;
}
public void setExamName(String exam)
{
examName = exam;
}
public int getExamScore()
{
return examScore;
}
public void setExamScore(int score)
{
examScore = score;
}
public int getExamGrade()
{
return examGrade;
}
public void setExamGrade(int grade)
{
examGrade = grade;
}
public void inputStudentName()
{
fullname = JOptionPane.showInputDialog("Enter the student's name");
}
public void inputExamName()
{
examName = JOptionPane.showInputDialog("Enter the subject's name");
}
public void inputScore()
{
String scoreString = new String();
JOptionPane.showInputDialog("Enter the student's score");
examScore = Integer.parseInt(scoreString);
}
public void inputGrade()
{
String gradeString = new String();
JOptionPane.showInputDialog("Enter the student's grade");
examGrade = Integer.parseInt(gradeString);
}
public String DisplayDetails()
{
String d;
d = "Student Name : " + fullname + "Exam Name : " + examName + "Score : " + examScore + "Grade : " + examGrade;
return d;
}
}
package Exams;
public class Certificates extends StudentResults {
private String certificate;
public String Grade;
Certificates()
{
super();
certificate = "No Certificate Awarded";
}
String certificateAwarded(/*int grade*/) {
//StudentResults g = new StudentResults();
//Grade = g.inputGrade();
//Grade = inputGrade(examGrade);
if(Grade.equals("Grade : A"))
{
this.certificate = "Certificate of Excellence";
}
else
if(Grade.equals("Grade : B"))
{
this.certificate = "Certificate of Achievement";
}
else
if(Grade.equals("Grade : C"))
{
this.certificate = "Certificate of Achievement";
}
else
this.certificate = "No Certificate Awardedt";
return this.certificate;
}
}
StudentResults.java
package Exams;
import javax.swing.JOptionPane;
public class ExamDetails {
public static void main(String[] args) {
StudentResults sr = new StudentResults();
sr.inputStudentName();
sr.inputExamName();
sr.inputScore();
sr.inputGrade();
sr.DisplayDetails();
Certificates c1 = new Certificates();
c1.certificateAwarded(grade);
}
}
package Exams;
import javax.swing.JOptionPane;
public class StudentResults {
private String fullname;
private String examName;
private int examScore;
private int examGrade;
public String getStudentName()
{
return fullname;
}
public void setStudentName(String name)
{
fullname = name;
}
public String getExamName()
{
return examName;
}
public void setExamName(String exam)
{
examName = exam;
}
public int getExamScore()
{
return examScore;
}
public void setExamScore(int score)
{
examScore = score;
}
public int getExamGrade()
{
return examGrade;
}
public void setExamGrade(int grade)
{
examGrade = grade;
}
public void inputStudentName()
{
fullname = JOptionPane.showInputDialog("Enter the student's name");
}
public void inputExamName()
{
examName = JOptionPane.showInputDialog("Enter the subject's name");
}
public void inputScore()
{
String scoreString = new String();
JOptionPane.showInputDialog("Enter the student's score");
examScore = Integer.parseInt(scoreString);
}
public void inputGrade()
{
String gradeString = new String();
JOptionPane.showInputDialog("Enter the student's grade");
examGrade = Integer.parseInt(gradeString);
}
public String DisplayDetails()
{
String d;
d = "Student Name : " + fullname + "Exam Name : " + examName + "Score : " + examScore + "Grade : " + examGrade;
return d;
}
}
package Exams;
public class Certificates extends StudentResults {
private String certificate;
public String Grade;
Certificates()
{
super();
certificate = "No Certificate Awarded";
}
String certificateAwarded(/*int grade*/) {
//StudentResults g = new StudentResults();
//Grade = g.inputGrade();
//Grade = inputGrade(examGrade);
if(Grade.equals("Grade : A"))
{
this.certificate = "Certificate of Excellence";
}
else
if(Grade.equals("Grade : B"))
{
this.certificate = "Certificate of Achievement";
}
else
if(Grade.equals("Grade : C"))
{
this.certificate = "Certificate of Achievement";
}
else
this.certificate = "No Certificate Awardedt";
return this.certificate;
}
}
Certificates.java
package Exams;
import javax.swing.JOptionPane;
public class ExamDetails {
public static void main(String[] args) {
StudentResults sr = new StudentResults();
sr.inputStudentName();
sr.inputExamName();
sr.inputScore();
sr.inputGrade();
sr.DisplayDetails();
Certificates c1 = new Certificates();
c1.certificateAwarded(grade);
}
}
package Exams;
import javax.swing.JOptionPane;
public class StudentResults {
private String fullname;
private String examName;
private int examScore;
private int examGrade;
public String getStudentName()
{
return fullname;
}
public void setStudentName(String name)
{
fullname = name;
}
public String getExamName()
{
return examName;
}
public void setExamName(String exam)
{
examName = exam;
}
public int getExamScore()
{
return examScore;
}
public void setExamScore(int score)
{
examScore = score;
}
public int getExamGrade()
{
return examGrade;
}
public void setExamGrade(int grade)
{
examGrade = grade;
}
public void inputStudentName()
{
fullname = JOptionPane.showInputDialog("Enter the student's name");
}
public void inputExamName()
{
examName = JOptionPane.showInputDialog("Enter the subject's name");
}
public void inputScore()
{
String scoreString = new String();
JOptionPane.showInputDialog("Enter the student's score");
examScore = Integer.parseInt(scoreString);
}
public void inputGrade()
{
String gradeString = new String();
JOptionPane.showInputDialog("Enter the student's grade");
examGrade = Integer.parseInt(gradeString);
}
public String DisplayDetails()
{
String d;
d = "Student Name : " + fullname + "Exam Name : " + examName + "Score : " + examScore + "Grade : " + examGrade;
return d;
}
}
package Exams;
public class Certificates extends StudentResults {
private String certificate;
public String Grade;
Certificates()
{
super();
certificate = "No Certificate Awarded";
}
String certificateAwarded(/*int grade*/) {
//StudentResults g = new StudentResults();
//Grade = g.inputGrade();
//Grade = inputGrade(examGrade);
if(Grade.equals("Grade : A"))
{
this.certificate = "Certificate of Excellence";
}
else
if(Grade.equals("Grade : B"))
{
this.certificate = "Certificate of Achievement";
}
else
if(Grade.equals("Grade : C"))
{
this.certificate = "Certificate of Achievement";
}
else
this.certificate = "No Certificate Awardedt";
return this.certificate;
}
}
在ExamDetails.java类中,您不会声明或实例化传递给certificateAwarded
方法的grade
变量
另外,在Certificates.java类中注释掉了参数。您应该取消对参数的注释。要编译代码,grade
必须是
在main方法中声明的局部变量
ExamDetails类上定义的字段
这两个声明都不存在,因此编译器告诉您它找不到等级“符号”
尝试添加int grade=sr.getExamGrade()问题行上方的代码>或类似内容。正如评论所建议的,您需要声明“等级”。没有它,编译器就无法完成确定Certificates.certificateAwarded的签名,因为参数列表中的内容是签名的一部分。更重要的是,代码中包含以下内容:
向上的字符串证书(/*int grade*/)
参数“int grade”被注释掉。因此,编译器看到:
字符串证书向前()
因此,编译器可能告诉您的是,它正在寻找一个名为certificateAwarded的证书方法,该方法接受1个类型为{无论“grade”是什么类型的}的参数。它没有发现
我说“可能是”是因为你在问题行中缺少两个符号:等级和一个带有匹配签名的方法
我可以想到两件事,你可以尝试修复它:
将“c1.certificateAwarded(等级);”更改为“c1.certificateAwarded();”
将“等级”声明为main中某个位置(或main中可见的位置)的int,并将“String certificateAwarded(/int grade/)”更改为“String certificateAwarded(int grade)”
我会先尝试第一种选择。如果有必要尝试第二种方法,您需要在main(或main可以看到等级的位置)和certificateAwarded方法中添加额外的代码。哪里声明了等级?等级未声明。完整的错误消息是什么?Hi@PaulBoddington、@Kami和@iamnotmaynard。我刚刚删除了等级
,但现在程序在输入(从字符串到int)后停止。在“inputScore”语句中。为什么会这样?感谢各位的回复。正如9Deuce提到的,一旦你修复了这个问题,你发布的代码将产生其他编译器错误,即使在添加了这个答案中建议的行时也是如此。我尝试了这个语句,但仍然出现了错误,所以我只是删除了等级
。但另一件事困扰着我,程序在输入(从字符串到int)后停止。在“inputScore”语句中。为什么会这样?谢谢你的回复。请注意,“等级”与“等级”是不同的变量。Java区分大小写。我刚刚删除了等级
。但另一件事困扰着我,程序在输入(从字符串到int)后停止。在“inputScore”语句中。为什么会这样?谢谢你的回复。我刚刚删除了等级
。但另一件事困扰着我,程序在输入(从字符串到int)后停止。在“inputScore”语句中。为什么会这样?谢谢您的回复。@JwanRadzi,因为您没有将从JOptionPane
中拉入的值赋给任何东西。查看此站点,您正在将空白字符串
解析为整数