请问老师String和StringBuilder分别再哪种场景使用好呢?
请问为什么缓存范围是-128-127呢 是否可以更大呢 这个范围是怎么考虑设定的呢
老师 我写完之后进行测试 发现每次发信息只能发一条 这是为什么啊
老师,我安装的Tomcat启动的时候闪退,我看很多同学在问。我用的JDK是jdk-15.0.1,是不是要换成1.8的版本?
老师,我的代码IDEAL控制台输出正常,但是浏览器没有显示 登陆成功 的字样
代码如下:
package com.bjsxt.server; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class httpServer_3 { public static void main(String[] args) { String CRLF="/r/n";//换行 String BLANK=" ";//空格 ServerSocket server=null; Socket socket=null; BufferedReader br=null; InputStream is=null; try{ server=new ServerSocket(8888); socket = server.accept(); //获取来自浏览器的信息 is=socket.getInputStream(); byte[] buf=new byte[20480]; int len=is.read(buf); System.out.println(new String(buf,0,len)); /**对web浏览器的请求作出响应*/ StringBuilder sb=new StringBuilder(); StringBuilder sbContent=new StringBuilder();//响应的文本 sbContent.append("<html><head><title>响应结果</title></head>"); sbContent.append("<body>登录成功</body></html>"); sb.append("HTTP/1.1").append(BLANK).append(200).append(BLANK).append("OK"); sb.append(CRLF); sb.append("Content-Type: text/html;charset=utf-8"); sb.append(CRLF); sb.append("Content-Length:").append(sbContent.toString().getBytes().length).append(CRLF); sb.append(CRLF); sb.append(sbContent); //通过流输出 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close(); }catch (Exception e){ e.printStackTrace(); }finally { if (br != null) { try { br.close(); } catch (Exception e) { e.printStackTrace(); } } if(server!=null){ try { server.close(); } catch (IOException e) { e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
得到他的前一个节点不能直接使用getNode(index-1)么,一楼应该是这个意思吧?
按照练习敲得出现类型错误如何修改,Usersage是String类型如何用小于号来比较
Users代码
public class Users { private String username; private int userage; public Users(String username, int userage) { this.username = username; this.userage = userage; } public Users() { } @Override public boolean equals(Object o) { System.out.println("equals..."); if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Users users = (Users) o; return userage == users.userage && Objects.equals(username, users.username); } @Override public int hashCode() { return Objects.hash(username, userage); } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getUserage() { return userage; } public void setUserage(int userage) { this.userage = userage; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", userage=" + userage + '}'; } }
2.TreeMap代码
public class TreeMapTest { public static void main(String[] args) { //实例化TreeMap Map<Users,String> map = new TreeMap<>(); Users u1 = new Users("oldlu",18); Users u2 = new Users("admin",22); map.put(u1,"oldlu"); map.put(u2,"admin"); Set<Users> keys = map.keySet(); for (Users key:keys){ System.out.println(key+" -------------- "+map.get(key)); } } }
结果报错
请问,老师上课做的笔记在哪里可以获取(凑够20个字)
这个hashset是链表加数组,对于算法结果相同的会在数组处加入链表,那么是不是这个hashset数组长度永远都是16啊
//对对象进行反序列化 public static void test2(){ ObjectInputStream ois = null; try{ ois = new ObjectInputStream(new FileInputStream("E:/object.txt")); Person p =(Person)ois.readObject(); System.out.println(p); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(ois != null){ ois.close(); } }catch(Exception e){ e.printStackTrace(); } } } java.io.InvalidClassException: cn.bzsxt.bytestream.User; local class incompatible: stream classdesc serialVersionUID = 1732458846381710476, local class serialVersionUID = -6028733942570062611 at java.base/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:689) at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1898) at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1764) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2055) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1586) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:423) at cn.bzsxt.Test.Test.test2(Test.java:40) at cn.bzsxt.Test.Test.main(Test.java:11)
老师查了好久说不是代码问题 测了好几遍都报错
public class Person implements Serializable { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; }
import java.util.Calendar; import java.util.GregorianCalendar; public class Testcalendar { public static void main(String[] args) { GregorianCalendar calendar = new GregorianCalendar(2999, 10, 9, 22, 10, 50); } public static void printCalendar(Calendar calendar){ int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int date = calendar.get(Calendar.DAY_OF_WEEK); String week = "" + ((date == 0) ? "日" : date); int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); System.out.printf("%d年%d月%日,星期%s%d:%d:%d\n",year,month,day,week,hour,minute,second); } }
老师,运行结果怎么啥也没有?
老师,关于t.schedule()方法中的第二个参数,它代表延迟多久之后开始运行程序,为什么用new Date(System.currentTimeMills()+1000)这种形式来写呢?貌似我直接用1000也可以顺利运行
package com.bjsxt.timer; import java.util.Date; import java.util.Timer; public class TestTimer { public static void main(String[] args) { //创建Timer的对象 Timer t=new Timer(); //调用schedule()方法去执行任务 //创建任务类的对象 Clock task=new Clock(); t.schedule(task,new Date(System.currentTimeMillis()+1000),1000); } }
ObjectOutputStream ObjectInputStream是不能同时打开吗
try( ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("E:\\素材\\javaTest/c.txt"))); ) { oos.writeInt(10); oos.writeFloat(1.2f); oos.flush(); } catch (IOException e) { e.printStackTrace(); } try( ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream("E:\\素材\\javaTest/c.txt"))); ) { System.out.println(ois.readInt()); System.out.println(ois.readFloat()); } catch (IOException e) { e.printStackTrace(); }
上面的正常运行
try( ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("E:\\素材\\javaTest/c.txt"))); ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream("E:\\素材\\javaTest/c.txt"))); ) { } catch (IOException e) { e.printStackTrace(); }
上面的创建了就报错
public static void main(String[] args) { ageValidate(); } public static int ageValidate() { //创建scanner对象 Scanner scanner = new Scanner(System.in); String num ; while (true){ System.out.println("输入您的年龄"); if (scanner.hasNextInt()) { System.out.println("输入正确"); num = scanner.nextLine(); int age = Integer.parseInt(num); if(age>=10&&age<=99){ return age; }else{ System.out.println("输入格式有误,请重新输入"); } } else { System.out.println("不是数字"); num = null; ageValidate(); } } }
老师我这个age使用的int类型,这个程序一直有问题,打断点也不知道怎么回事
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637