又把我整懵了,这个Operate类中前半部分都是public,怎么到了这里比较的时候突然用了class?感觉脑子转不过来了,请老师指点一下
代码:
import java.io.File; public class Test6 { public static void main(String[] args) { File file = new File("D:\\a"); printFile(file,0); } static void printFile(File file,int level){ for (int i=0;i<level;i++){ System.out.print("-"); } if (file.isDirectory()||file.getName().endsWith(".txt"));{ System.out.println(file.getName()); } if (file.isDirectory()){ File[] files = file.listFiles(); for (File temp : files){ printFile(temp,level+1); } } } }
问题 1:
老师,打印文件是哪步操作,不是打印目录,比如txt这个文件是哪行代码运行出来的。是递归里面的printFile()吗?如果是这个前面不是判断是目录才能进行操作吗?
问题 2:
我想进行过滤,只打印目录和.txt文件,为啥没过滤掉?
老师,在二叉树遍历时,是不是说在递归后左子树为空,打印了当前值后,根类的left就变成空了。否则的话为什么会打印根类呢
if(this.left!=null){ this.left.inorderTraversal(); } System.out.println(this.item); if (this.right!=null){ this.right.inorderTraversal(); }
老师,请问如果是在数组中已有元素下的链表中加一个Node,size也是+1么,那这个size是表示结点数大小么
class SaleMoney extends Thread{ private Sale sale; public SaleMoney(Sale sale){ this.sale = sale; } @Override public void run() { synchronized (Sale.class) { this.sale.money(); } } }
老师将synchrunized定义在线程的run方法是不是也可以?运行后没有问题
但是使用synchrunized static是不是不可以在run方法使用?如果可以应该怎么用?我试了一下,一直报错
老师我对这三个方法做了总结,您看看对不对
this:多个线程操作同一对象实现线程同步
字符串:是所有线程只要操作带有synchrunized(字符串)的方法就会实现线程同步
Class:线程操作的是通过这个类创建的对象,就会实现线程同步
但是字符串和Class的区别不太明白
从资料里复制加载了jar包和DBUTIL程序后,运行程序,报错无法连接到数据库
老师,请问一下,我的代码也是遇到了一个接一个线程运行的问题,也看了之前同学的提问也尝试重复运行很多次,但还是一模一样,也把t1放t2后面还是一个接一个运行,这是什么原因造成的,谢谢!
package com.bjsxt; public class TestThread extends Thread{ public TestThread() { System.out.println(this.getName()); } /* * * 线程的线程体 * * */ @Override public void run() { System.out.println(this.getName()+"线程开始"); for (int i=0;i<20;i++){ System.out.println(this.getName()+ " "+i); } System.out.println(this.getName()+"线程结束"); } public static void main(String[] args) { System.out.println("主线程开始"); TestThread t1 = new TestThread(); //启动线程 TestThread t2 = new TestThread(); t1.start(); //启动线程 t2.start(); System.out.println("主线程结束"); } }
老师,请问这里的add方法类型为什么是Object类型的
源码里面add方法的类型是Boolean的
用delete去删除目录没法删除吗?
package com.itbaizhan; import java.io.File; /** * 打印目录树,结合递归 */ public class PrintFileTree { public static void main(String[] args) { File f = new File("c:\\Users\\Administrator.DESKTOP-RT7AG0B");//最大的可能是这里出了问题 printFile(f, 0); } static void printFile(File file,int level){ for(int i=0;i<level;i++){ System.out.print("-"); } System.out.println(file.getName()); if(file.isDirectory()){ File[] files=file.listFiles();//列出所有子文件/子目录 for(File temp:files){ printFile(temp,level+1); } } } }
我想请问一下老师,为什么我在测试的时候会报空指针异常?
老师。User这个类里面为什么一定要添加get,set方法?
有什么用?我一直对这个地方理解不透彻。几天没看前面的又有点忘记了。还有一定要重写Hash'Code和
equals方法才能让Hashset方法里面实现不重复的功能吗
为什么这里都开始用包装类的符号来定义数据类型而不能再用int,char这样的了呢
public class CalendarClass { public static void main(String[] args) { GregorianCalendar calendar1=new GregorianCalendar(2999,10,9,22,10,50); calendar1.add(Calendar.MONTH,-7);//月份减七 System.out.println("calendar1月份(原来10)减七:"+calendar1.MONTH); calendar1.add(Calendar.MONTH,7);//月份加七 System.out.println("calendar1月份(被减七后加七)加七:"+calendar1.MONTH); } }
月份减七加七后不应回复为原来的嘛?而且 10-7=3为什么返回值是二啊?(试了好几遍一直是这样)
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:D:\IDEA\IntelliJ IDEA 2019.3.2\lib\idea_rt.jar=54847:D:\IDEA\IntelliJ IDEA 2019.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\soketdmeo\out\production\soketdmeo" com.sxt.GoodTCP 请输入:server,<port>或者<ip>,<port> 192.168.31.250,8888 java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at com.sxt.GoodTCP.main(GoodTCP.java:136) Process finished with exit code 0
老师,没找着报错原因。
代码压缩包
GoodTCP.rar
老师,lambda规定接口中只能有一个需要被实现的方法。像Comparator这个接口,抽象方法两个,一个compare一个equals,这个为什么可以使用lambda?是因为父类Object实现了equals方法吗?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637