主题:测试结果不对
import java.io.*;
public class KeCheng3 {
private String cNumber;
private String cName;
private int cUnit;
//以下课号
public boolean setcNumber(String cNumber)
{
if(cNumber!=" ")
{
this.cNumber=cNumber;
return true;
}
else return false;
}
public String getcNumbe()
{
return cNumber;
}
//以下课程名称
public boolean setcName(String cName)
{
if(cName!=" ")
{
this.cName=cName;
return true;
}
else return false;
}
public String cName()
{
return cName;
}
//以下学分
public boolean setcUnit(int cUnit)
{
if(cUnit>=0)
{
this.cUnit=cUnit;
return true;
}
else return false;
}
public int getcUnit()
{
return cUnit;
}
//以下输出
String printCourseInfo()
{
return "学号:"+cNumber+"\r课号:"+cName+"\r学分:"+cUnit;
}
// public KeCheng3() {
// }
public static void main(String[] args)throws IOException
{
BufferedReader kc=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入课号");
String cNum=kc.readLine();
System.out.println("请输入课程名称");
String cNa=kc.readLine();
System.out.println("请输入学分");
int cUn=Integer.parseInt(kc.readLine());
KeCheng3 javas=new KeCheng3();
while(!(javas.setcNumber(cNum)||javas.setcName(cNa)||javas.setcUnit(cUn)))
{
System.out.println("你没有输入号码或者课程名称为空,也可能输入了非整数或为空的学分\t请重新输入");
System.out.println("请重新输入号码");
cNum=kc.readLine();
System.out.println("请重新输入课程名称");
cNa=kc.readLine();
System.out.println("请重新输入学分");
cUn=Integer.parseInt(kc.readLine());
}
System.out.println(javas.printCourseInfo());
}
}
结果是:
请输入号码
43
请输入课程名称
23
请输入学分
12
学号:43
课号:null
学分:0
处理已完成。
但是结果却不对,第一个没问题,后面是copy前面的也会错啊
不懂,第一个,号码的结果没问题,
但是第2,3个就不行,
23对null,12对0?
会的人指导下
public class KeCheng3 {
private String cNumber;
private String cName;
private int cUnit;
//以下课号
public boolean setcNumber(String cNumber)
{
if(cNumber!=" ")
{
this.cNumber=cNumber;
return true;
}
else return false;
}
public String getcNumbe()
{
return cNumber;
}
//以下课程名称
public boolean setcName(String cName)
{
if(cName!=" ")
{
this.cName=cName;
return true;
}
else return false;
}
public String cName()
{
return cName;
}
//以下学分
public boolean setcUnit(int cUnit)
{
if(cUnit>=0)
{
this.cUnit=cUnit;
return true;
}
else return false;
}
public int getcUnit()
{
return cUnit;
}
//以下输出
String printCourseInfo()
{
return "学号:"+cNumber+"\r课号:"+cName+"\r学分:"+cUnit;
}
// public KeCheng3() {
// }
public static void main(String[] args)throws IOException
{
BufferedReader kc=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入课号");
String cNum=kc.readLine();
System.out.println("请输入课程名称");
String cNa=kc.readLine();
System.out.println("请输入学分");
int cUn=Integer.parseInt(kc.readLine());
KeCheng3 javas=new KeCheng3();
while(!(javas.setcNumber(cNum)||javas.setcName(cNa)||javas.setcUnit(cUn)))
{
System.out.println("你没有输入号码或者课程名称为空,也可能输入了非整数或为空的学分\t请重新输入");
System.out.println("请重新输入号码");
cNum=kc.readLine();
System.out.println("请重新输入课程名称");
cNa=kc.readLine();
System.out.println("请重新输入学分");
cUn=Integer.parseInt(kc.readLine());
}
System.out.println(javas.printCourseInfo());
}
}
结果是:
请输入号码
43
请输入课程名称
23
请输入学分
12
学号:43
课号:null
学分:0
处理已完成。
但是结果却不对,第一个没问题,后面是copy前面的也会错啊
不懂,第一个,号码的结果没问题,
但是第2,3个就不行,
23对null,12对0?
会的人指导下