你那个import从何而来? 如果同在工作目录(包)下不用import
如果你有包存在则应 import 包名.类名;
比如我把Time类放到了mypakage包下
路径为 工作目录\mypackage\Time.java
package mypackage;
public class Time {
private int hour;
private int minute;
private int second;
public Time() {
setTime(0, 0, 0);
}
public void setTime(int hh, int mm, int ss) {
hour = ((hh >= 0 && hh < 24) ? hh : 0);
minute = ((mm >= 0 && mm < 59) ? mm : 0);
second = ((ss >= 0 && ss < 59) ? ss : 0);
}
public String toString() {
return (hour + ":" + (minute < 10 ? "0" : "") + minute + ":"
+ (second < 10 ? "0" : "") + second);
}
}
则MyTime代码为:
路径为工作目录\MyTime.java
import mypackage.Time;
public class MyTime {
public static void main(String args[]) {
Time time = new Time();
time.setTime(11, 22, 33);
System.out.println("设置时间=" + time.toString());
}
}
1.导入类的时候 要加上类名
2. System.out.println("设置时间="+toString());
神乎其神的写法 那个 toString方法你是要调用time中的toString居然直接用,直接用的结果会打印出MyTime这个类的类路径@hashcode这种格式。。。
代码还是不改给你了 自己写成长的更多 上面仁兄写的 似乎也会有错误 虽然编译不会出错 但是 会有逻辑错误 得不到想要的结果
Time类改写你的
public class Time{
private int hour;
private int minute;
private int second;
public Time()
{setTime(0,0,0);}
public void setTime(int hh,int mm,int ss){
hour=((hh>=0&&hh<24)?hh:0);
minute=((mm>=0&&mm<59)?mm:0);
second=((ss>=0&&ss<59)?ss:0);
}
public String toString(){
return(hour+":"+(minute<10?"0":"")+minute+":"+
(second<10?"0":"")+second);
}
}
myTime类改写的你的
public class myTime{
public static void main(String args[]){
Time time=new Time();
time.setTime(11, 22, 33);//.setTime(11,22,33);
System.out.println("设置时间1="+time.toString());
time.setTime(25, 40, 33);//.setTime(11,22,33);
System.out.println("设置时间2="+time.toString());
}
}
import的时候是包名加类名的,怎么只看到你的类名,没看到你的包名?