![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
StOnE_91
连菜鸡都算不上
展开
-
[JAVA]对Scanner类从控制台接受多行信息引发的疑问
经常看到输入矩阵啥的,但是在实际操作中输入一行就没了。为了弄清这个疑惑,深挖这个Scanner类;1.System.in 这个对象是属于InputStream类的。是很简陋的一个输入流对象。拥有read()方法,他按顺序单次读取你的输入,返回一个ASC2数字(包括换行符)。一般在做题和生产中不调用read()方法。2.BufferedReader 这个类适合读取大批次的输入数据,没有自定义分...原创 2020-03-05 15:57:34 · 347 阅读 · 0 评论 -
JAVA按位与“&”在“n&(n-1)”中的使用
java中“&”表示按位与操作,他把左右变为二进制然后按位取与。“n=n&(n-1)”的直接应用就是去掉“n的二进制”的最后一个1.具体应用:1、求某一个数的二进制表示中1的个数(无论正数还是补码负数)while (n >0 ) {count ++;n &= (n-1);}判断一个数是否是2的次幂n > 0 && ((n &a...转载 2020-03-03 16:43:09 · 1557 阅读 · 0 评论 -
java前序遍历&中序遍历还原二叉树。Arrays.copyOfRange()方法与System.arraycopy()方法
菜鸟发现了一个题目,还原二叉树的。题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。众所周知,前序+中序|中序+后序|中序+层次 是可以唯一确定二叉树的。根据题目中的例子,菜鸟在纸上把他们写了下来。...原创 2020-02-26 17:40:56 · 301 阅读 · 0 评论 -
JAVA类型转换的就近原则(int)(Math.random()*100)与(int)Math.random()*100
System.out.println((int)Math.random()*100);想要输出【0,99】的随机整数,打印(int)Math.random()*100;可是得到的结果却是0;明明知道Math.random()等于[0,1)的double啊,为啥结果是0?原来,(int)转换的时候,直接把0.xxxxxxx转换为整型,也就是0了,然后用0*100结果还会是0;怎么解决呢?...原创 2020-02-26 15:11:27 · 2273 阅读 · 0 评论 -
菜鸟的文本替换-----谈StringBuffer 与 String
有一天,菜鸟看到了个题目。请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.心想,String对象难道不能用replace方法吗,比如说。public class Replace { public static void main(String[] args) { ...原创 2020-02-25 21:27:08 · 153 阅读 · 0 评论 -
【java中IO】
FileReader/FileWriterFilereader:1.僵硬的缓冲区,read一次只读一个字符。2.方法fr.read()每次被执行,都会返回文件数据,在没有数据时会返回值-1,其常用来放在while循环条件中。3.fr没有flush方法哦,fw才有flush方法提供清空缓存并写入。try {FileReader fr = new FileRea...原创 2019-09-12 13:37:22 · 148 阅读 · 0 评论 -
【JAVA菜鸟碎碎念】 static/args[]/构造函数
1.static 即“静态”的意思,用来修饰类,方法,变量。众所周知JAVA一切都是基于类(class)的, static 的存在使得该 “方法,类,变量” 在主类没有实例化的时候就可以被调用。例如,一个java主文件中的main函数的修饰语是 public static void main(String args[]){}同时,static 使得 JVM为该参数在内存中划出了静态的唯一...原创 2019-09-18 16:40:25 · 168 阅读 · 0 评论 -
【JAVA菜鸟碎碎念】问号表达式
//int lol=(布尔判断条件?在条件为真的时候的表达式值:在运算为假的时候的表达式的值)int lol=(2==3?5*5:8*8);显然,该LOL被赋予的值应该是64;原创 2019-09-18 17:01:08 · 153 阅读 · 0 评论