【发布时间】:2015-05-01 20:40:18
【问题描述】:
我正在使用 BlueJ 来完成我的这项任务,我在做这部分问题时遇到了问题,即放置决策结构以确保没有设置我已经尝试过的无效数据。我在其中放置了 if else中的声明 setName 部分不起作用。如果我将 1 放入 setName 的 GraphicIllustrators 主 void 部分,代码将显示错误。那么我需要在下面的代码中将 if else 语句放在哪里。顺便说一句,我正在使用继承来执行此操作。所以请指教。谢谢!
主类的编码:
public class Publishing_Inc
{
private int ID=0;
private String name="-Name Needed-";
private int level=0;
private String jobtitle="-Title Needed-";
private String edit="-Edit Skill-";
public void calculateID(){
int uniqueID;
uniqueID =((int)( Math.random()*10000)+1);
ID = uniqueID;
}
public int getID(){
return ID;
}
public void setName(String d) {
name = d;
}
public String getName() {
return name;
}
public void setTitle(String b){
jobtitle=b;
}
public String getTitle() {
return jobtitle;
}
public void calculatelevel(){
int uniquelevel;
uniquelevel =((int)( Math.random()*3)+1);
level = uniquelevel;
}
public int getlevel() {
return level;
}
public void setEdit(String z){
edit=z;
}
public String getEdit() {
return edit;
}
}
子类:
public class GraphicIllustrators extends Publishing_Inc
{
public void displayGraphInformation() {
System.out.println("ID: " + getID());
System.out.println("Name:" + getName());
System.out.println("Job Title: " + getTitle());
System.out.println("Level: " + getlevel());
System.out.println();
}
public static void main (String args[]) {
GraphicIllustrators graphic = new GraphicIllustrators ( );
graphic.calculateID ( );
graphic.setName (" Tim Cook" );
graphic.calculatelevel ();
graphic.setTitle ("Graphic Illustrators" );
graphic.displayGraphInformation( );
}
}
【问题讨论】:
-
为什么用javascript标记?
-
@aaronk6 解决了这个问题。
-
你的 if else 在哪里? “我在其中将 if else 语句放在 setName 部分不起作用。”
-
请贴出相关代码。
graphic.setName (" Tim Cook" );没有问题。 -
graphic.setName(1);将引发编译时错误,if语句无法帮助您。编译器检查传递的变量/文字的类型并且它们与所需的类型不匹配,然后编译器将引发相应的错误。您可以尝试将变量强制转换为所需的类型,但在这里我看不出这样做的意义。
标签: java if-statement bluej