方法中出现横线,是因为该方法已经不建议被使用,应该有替代的方案
目前成都创新互联已为1000+的企业提供了网站建设、域名、网页空间、网站托管、服务器托管、企业网站设计、邹平网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
你说的show()方法是不是JFrame中的show()方法呢,可以用setVisible(true)这个方法来替代
祝你好运!
java方法名上出现横线代表该方法已经过时!所以只要使用一个过时的方法,该方法名上就能出来横线。最简单的就是使用Data对象的toLocaleString()方法,即new Data().toLocaleString()获取本地格式的时间,这个方法已经被标记为过时方法!
问题是为什么需要打印这个啊?Java代码中不需要这样的关键字和符号,简单的命令行界面也不支持这种符号,如果是图形化界面,可以用图片代替。
总之,在代码里面以及简单的命令行输出界面中是无法打出根号和分数线的。
AC
定义:一个类中含两个以上同名的方法,他们之间就构成重载
特点:
1、必须是两个以上同名的方法
2、方法之间的参数组合必须不同(参数的数目不同或者参数的类型不同)
3、方法的返回值不能作为判断方法之间是否构成重载的依据
__ __
|__| . | |__
|__| . | |__|
如上面这样的一个数字8,是所有线条显示的情况,其他数字均可如上组合,统计下来数字共由三行字符组成,最上面一行、中间一行、和下面一行,取时间比较容易,剩下就是输出打印的问题,而打印时每个数字进行转换,分别对应三行字串即可。可以写个类ClockNumber.java用于转换数字和三行字串。
public class ClockNumber {
public Character i;
public String top; //上面一行
public String mid; //中间一行
public String bot; //下面一行
//构造函数
public ClockNumber(Character i){
this.i=i;
}
public String getTop() {
swich(i){
case '1':
return " ";
case '2':
return " __ ";
//...以此类推,按不同数字上面不同的第一行给出字串即可。
// 别忘了实现冒号的显示
case ':':
return " ";
}
// 参考上面方法再实现getMid()和 getBot两个函数。
//...
}
另外,实现一下中间的分隔字串,两个点的方法。
打印时,分别输出三行即可:
如:
public class ClockView {
public String time;
public String topLine;
public String midLine;
public String botLine;
public ClockView(String time){
this.time = time;
}
public String getTopLine(){
//此处示例,即Charactor
for(int i=0; itime.length; i++){
Character n = time.charAt(i);
ClockNumber cn = new ClockNumber(n);
topLine += cn.top; // 将上面一行相应的字串连起来。
}
}
//...以此类推,完成midLine和botLine的get方法。
//测试示例:
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String time= sdf.format(now); //类似:"19:24:58";
ClockView cv = new ClockView(time);
System.out.println(cv.topLine);
System.out.println(cv.midLine);
System.out.println(cv.botLine);
//ok, 搞定了!
}
}
那些是被@Deprecated注解标记的方法或者属性或类等。
意思是“已过时”。
如果你是新写代码,那么不推荐你这么做,有更好的替代方案,如果是老系统,那么告知你你这个方法已过时,不过JDK还将继续对他支持。