Java 为什么我的变量不能接收值(接口)
我在发送变量值时遇到问题。为什么我的变量在输入值时无法接收值?我不知道该怎么做Java 为什么我的变量不能接收值(接口),java,interface,implements,Java,Interface,Implements,我在发送变量值时遇到问题。为什么我的变量在输入值时无法接收值?我不知道该怎么做 import java.io.*; public class StudentApp { public static void main (String [] args) throws IOException { student studentObject = new GradeResult(); studentObject.getName(); student studentObject2
import java.io.*;
public class StudentApp {
public static void main (String [] args) throws IOException {
student studentObject = new GradeResult();
studentObject.getName();
student studentObject2 = new GradeResult();
studentObject2.getIdNum();
student studentObject3 = new GradeResult();
studentObject3.getMark();
student studentObject4 = new GradeResult();
studentObject4.setName();
student studentObject5 = new GradeResult();
studentObject5.setIdNum();
student studentObject6 = new GradeResult();
studentObject6.setMark();
student studentObject7 = new GradeResult();
studentObject7.showGrade();
student studentObject8 = new GradeResult();
studentObject8.showResult();
}
interface StudentInterface{
void getName() throws IOException;
void getIdNum()throws IOException;
void setName();
void setIdNum();
void getMark()throws IOException;
void setMark();
}
interface student extends StudentInterface{
void showResult();
void showGrade();
}
class GradeResult implements student {
String name ,name2 ,name3;
int a ,mark;
public void getName () throws IOException {
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader stdin = new BufferedReader(inStream);
System.out.print("Please Input Your Name :");
name = stdin.readLine();
}
public void getIdNum()throws IOException {
BufferedReader stdin=new BufferedReader (new InputStreamReader(System.in));
System.out.print("Please Input Your ID Number :");
name2 = stdin.readLine();
a = Integer.parseInt(name2);
}
public void setName() {
System.out.print("Your Name :"+name);
}
public void setIdNum() {
System.out.print("\nYour ID Number :"+name2);
}
public void getMark()throws IOException {
BufferedReader stdin=new BufferedReader (new InputStreamReader(System.in));
System.out.print("Please Input Your Mark :");
name3 = stdin.readLine();
mark = Integer.parseInt(name3);
}
public void setMark() {
System.out.print("\nYour Mark :"+mark);
}
public void showResult() {
if ((mark>=40)&&(mark<=100)) {
System.out.print("\nYou Are PASS");
} else {
System.out.print("\nYou Are FAIL");
}
}
public void showGrade() {
if((mark>=80)&&(mark<=100)) {
System.out.print("\nYour Grade Is A");
} else if ((mark>=65)&&(mark<=80)) {
System.out.print("\nYour Grade Is B");
} else if ((mark>=50)&&(mark<=65)) {
System.out.print("\nYour Grade Is C");
} else if ((mark>=40)&&(mark<=50)) {
System.out.print("\nYour Grade Is D");
} else {
System.out.print("\nYour Grade Is E");
}
}
}
import java.io.*;
公共班级学生pp{
公共静态void main(字符串[]args)引发IOException{
student studentObject=新成绩结果();
studentObject.getName();
student StudentObject 2=新成绩结果();
studentObject2.getIdNum();
student studentObject3=新成绩();
studentObject3.getMark();
student studentObject4=新成绩();
studentObject4.setName();
student studentObject5=新成绩();
studentObject5.setIdNum();
student studentObject6=新成绩();
studentObject6.setMark();
student studentObject7=新成绩();
研究对象7.showGrade();
student studentObject8=新成绩();
studentObject8.showResult();
}
界面学生界面{
void getName()抛出IOException;
void getIdNum()引发IOException;
void setName();
void setIdNum();
void getMark()抛出IOException;
无效设置标记();
}
学生界面扩展学生界面{
void showResult();
void showGrade();
}
班级成绩结果实现学生成绩{
字符串名,name2,name3;
INTA,标记;
public void getName()引发IOException{
InputStreamReader inStream=新的InputStreamReader(System.in);
BufferedReader stdin=新的BufferedReader(流内);
系统输出打印(“请输入您的姓名:”);
name=stdin.readLine();
}
public void getIdNum()引发IOException{
BufferedReader stdin=新的BufferedReader(新的InputStreamReader(System.in));
系统输出打印(“请输入您的身份证号码:”);
name2=stdin.readLine();
a=整数.parseInt(name2);
}
public void setName(){
系统输出打印(“您的姓名:+姓名”);
}
public void setIdNum(){
系统输出打印(“\n您的ID号:“+name2”);
}
public void getMark()引发IOException{
BufferedReader stdin=新的BufferedReader(新的InputStreamReader(System.in));
系统输出打印(“请输入您的标记:”);
name3=stdin.readLine();
mark=Integer.parseInt(name3);
}
公共无效设置标记(){
系统输出打印(“\n您的标记:“+标记”);
}
公开无效显示结果(){
如果((标记>=40)&&&(标记=80)&&&(标记=65)&&&(标记=50)&&&(标记=40)&&&(标记您每次都在创建新对象,因此您的结果会放在不同的对象中
试试这个:
student studentObject = new GradeResult();
studentObject.getName();
studentObject.setName();
编辑:如果您不知道,实例变量值保存在一个对象中。因此,所有不同的对象(属于同一类)将具有不同的名称、名称2、名称3等。从中调用System.out.println(…)方法的对象具有未初始化的实例变量(名称、名称2、名称3)因此不会为这些对象打印任何值。您每次都在创建新对象,因此您的结果会被放入不同的对象中
试试这个:
student studentObject = new GradeResult();
studentObject.getName();
studentObject.setName();
编辑:如果您不知道,实例变量值保存在一个对象中。因此,所有不同的对象(属于同一类)将具有不同的名称、名称2、名称3等。从中调用System.out.println(…)方法的对象具有未初始化的实例变量(名称、名称2、名称3)因此不会为这些对象打印任何值。您每次都在创建新对象,因此您的结果会被放入不同的对象中
试试这个:
student studentObject = new GradeResult();
studentObject.getName();
studentObject.setName();
编辑:如果您不知道,实例变量值保存在一个对象中。因此,所有不同的对象(属于同一类)将具有不同的名称、名称2、名称3等。从中调用System.out.println(…)方法的对象具有未初始化的实例变量(名称、名称2、名称3)因此不会为这些对象打印任何值。您每次都在创建新对象,因此您的结果会被放入不同的对象中
试试这个:
student studentObject = new GradeResult();
studentObject.getName();
studentObject.setName();
编辑:如果您不知道,实例变量值保存在一个对象中。因此,所有不同的对象(属于同一类)将具有不同的名称、名称2、名称3等。从中调用System.out.println(…)方法的对象具有未初始化的实例变量(名称、名称2、名称3)因此不会打印这些值。最好的解决方案是在GradeResult
类中执行以下操作
private static String name, name2, name3;
private static int a, mark;
这会有用的
输出:
Please Input Your Name :Mohammad
Please Input Your ID Number :10001
Please Input Your Mark :85
Your Name :Mohammad
Your ID Number :10001
Your Mark :85
Your Grade Is A
You Are PASS
最好的解决方案是在GradeResult
课程中执行以下操作
private static String name, name2, name3;
private static int a, mark;
这会有用的
输出:
Please Input Your Name :Mohammad
Please Input Your ID Number :10001
Please Input Your Mark :85
Your Name :Mohammad
Your ID Number :10001
Your Mark :85
Your Grade Is A
You Are PASS
最好的解决方案是在GradeResult
课程中执行以下操作
private static String name, name2, name3;
private static int a, mark;
这会有用的
输出:
Please Input Your Name :Mohammad
Please Input Your ID Number :10001
Please Input Your Mark :85
Your Name :Mohammad
Your ID Number :10001
Your Mark :85
Your Grade Is A
You Are PASS
最好的解决方案是在GradeResult
课程中执行以下操作
private static String name, name2, name3;
private static int a, mark;
这会有用的
输出:
Please Input Your Name :Mohammad
Please Input Your ID Number :10001
Please Input Your Mark :85
Your Name :Mohammad
Your ID Number :10001
Your Mark :85
Your Grade Is A
You Are PASS
为该对象创建对象集值,并从同一对象访问值。在您的情况下,您正在为某个对象设置值,并从另一个对象访问数据,这就是为什么某些字段会得到null
public static void main (String [] args) throws IOException{
student studentObject = new GradeResult();
studentObject.getName();
studentObject.getIdNum();
studentObject.getMark();
studentObject.setName();
studentObject.setIdNum();
studentObject.showGrade();
studentObject.showResult();
}
为该对象创建对象集值,并从同一对象访问值。在您的情况下,您正在为某个对象设置值,并从另一个对象访问数据,这就是为什么某些字段会得到null
public static void main (String [] args) throws IOException{
student studentObject = new GradeResult();
studentObject.getName();
studentObject.getIdNum();
studentObject.getMark();
studentObject.setName();
studentObject.setIdNum();
studentObject.showGrade();
studentObject.showResult();
}
为该对象创建对象集值,并从同一对象访问值。在您的情况下,您正在为某个对象设置值,并从另一个对象访问数据,这就是为什么某些字段会得到null
public static void main (String [] args) throws IOException{
student studentObject = new GradeResult();
studentObject.getName();
studentObject.getIdNum();
studentObject.getMark();
studentObject.setName();
studentObject.setIdNum();
studentObject.showGrade();
studentObject.showResult();
}
为该对象创建对象集值,并从同一对象访问值。在您的情况下,您正在为某个对象设置值,并从另一个对象访问数据,这就是为什么某些字段会得到null
public static void main (String [] args) throws IOException{
student studentObject = new GradeResult();
studentObject.getName();
studentObject.getIdNum();
studentObject.getMark();
studentObject.setName();
studentObject.setIdNum();
studentObject.showGrade();
studentObject.showResult();
}
你得到了什么输出?我只得到了“null”…你得到了什么输出?我只得到了“null”…你得到了什么输出?