BlueJ Jave 新手问题

qq_31739799 2015-10-03 12:04:22
大家好,我最近刚刚开始学习编程。 今天有个作业是让我们做一个类似于超速罚单的程序。 但是我怎么都显示不出来罚单。


/**
* Lab3b for secction 3
*
* @author (Castiel)
* @version (01-10-2015)
*/
public class Driver
{
// instance variables - replace the example below with your own
private String name;
private String driverLicense;
private int speedInKmPerHour;
private String driverStanding;

/**
* Default Constructor for objects of class Driver
*/
public Driver()
{
// initialise instance variables
name = "";
driverLicense = "";
speedInKmPerHour = 0;
driverStanding = "";
}

/**
* non defaul constructor should validate the parameter as follows:
*
* name and driverLicense can not be null, if the passed parameter was null, an empty string " " will be assogned to the instance variable
*
* validates the speed parameter and uses it if it is positive; otherwise speed will be set to 0
*
* driverStanding will be set to an empty string
*
* @param driverName
* @param licenseNumber
* @param speed
* @param standing
*/
public Driver(String driverName, String licenseNumber, int speed, String standing)
{
if (driverName != null){
name = driverName;
}
else{
name = "";
}

if (licenseNumber != null){
driverLicense = licenseNumber;
}
else{
driverLicense = "";
}

if (speed >=0 ){
speedInKmPerHour = speed;
}
else{
speedInKmPerHour = 0;
}

driverStanding = "";
}

// accessor methods
/**
* method getName
*
* @return drivers name
*/
public String getName(){
return name;
}

/**
* method getdriverLicense
*
* @return drivers License
*/
public String getDriverLicense(){
return driverLicense;
}

/**
* method getSpeedInKmPerHour
*
* @return speed
*/
public int getSpeedInKmPerHour(){
return speedInKmPerHour;
}

/**
* method getDriverStanding
*
* @return driver Standing
*/
public String getDriverStanding(){
return driverStanding;
}

//mutator methods
/**
* mutator method of name
* @param driverName as String
*/
public void setName(String driverName){
if(driverName != null){
name = driverName;
}
else{
name = "";
}
}

/**
* mutator method of driverLicense
* @param licenseNumber as String
*/
public void setDriverLicense(String licenseNumber){
if(licenseNumber != null){
driverLicense = licenseNumber;
}
else{
driverLicense = "";
}
}

/**
* mutator method of speedInKmPerHour
* @param speed as int
*/
public void setSpeedInKmPerHour(int speed){
if(speed >= 0){
speedInKmPerHour = speed;
}
else{System.out.println("invalid input speed cannot benegative");
}
if(speedInKmPerHour <= 60){
driverStanding = "no ticket";
}
if(speedInKmPerHour > 60){
if(speedInKmPerHour <=80){
driverStanding = "small ticket";
}
}
if(speedInKmPerHour > 80){
driverStanding = "big ticket";
}
}

/**
* method drivers detail
*/
public void driverdetail(){
System.out.println("Driver name:" + " " +name);
System.out.println("Driver License::" + " " +driverLicense);
System.out.println("Speed:" + " " + speedInKmPerHour + "K/H");
System.out.println("Driver Standing:" + driverStanding);
}
}




上面是我写的代码
driverDetail
应该长这样
Driver name: John James
Driver License: 123456
Speed: 70 K/H
Driver Standing: small ticket


但是我出来的都是这样
Driver name: John James
Driver License:: 123456
Speed: 70K/H
Driver Standing: null
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31739799 2015-10-04
  • 打赏
  • 举报
回复
driverStanding = ""; 改成driverStandin=standing; 之后还是不行啊。 Create object的时候问我要String standing 的value。 我只好用“” 然后出来的是 Driver name: John James Driver License:: 123456 Speed: 70K/H Driver Standing: 求解- - 谢谢
oh_Maxy 版主 2015-10-03
  • 打赏
  • 举报
回复
public Driver(String driverName, String licenseNumber, int speed, String standing) 这个构造方法的入参standing没有赋值给属性driverStanding 增加一句: driverStanding=standing; 就可以了。
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 Node.js作为一个运行环境,其基础是Chrome的V8引擎,它最突出的优势在于能够支持JavaScript代码在服务器端执行,从而为网络应用程序创造了一个全新的执行平台。在Node.js生态中,文件系统的相关操作由fs模块承担,而fs.readFile作为其中的关键方法,专门用于实现文件内容的获取。本文旨在全面阐释fs.readFile方法的相关信息,包括其功能说明、语法结构、参数配置、应用范例以及源代码实现,以供那些需要在Node.js环境中进行文件操作的程序员参考。 fs.readFile方法具备异步特性,意味着它在执行文件读取任务时不会中断当前程序的运行流程,使得程序的其他部分能够同步执行。该方法的工作流程是:一旦调用,Node.js会立即反馈执行信号,然后在后台线程中执行文件读取任务。当文件读取任务完成后,Node.js会通过一个预设的回调函数来处理读取结果或识别错误。 fs.readFile方法的语法结构如下: fs.readFile(path[, options], callback) - path:一个必须的参数,其数据类型可以是字符串、Buffer或Uint8Array,用于指示文件的具体位置或文件描述符。 - options:一个可选参数,形式为一个对象,用于设定文件的编码格式及打开模式。该对象中可以包含encoding(字符编码,默认值为null,此时返回Buffer对象)和flag(文件打开模式,默认值为r,代表只读模式)。 - callback:一个必须的回调函数,在文件读取任务结束后被触发。若读取过程中出现错误,err参数将包含错误详情,否则为n...

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧