多多汉堡肉 发表于 2018-12-14 21:07:05

大一女,求助一个读入用户输入的小问题,谢谢好心人抽空回答!

抱歉我不会上传图片到帖子上,就以文字叙述一下,谢谢!


学习Java的第一天,照着老师的代码打,学习用户输入。

如下:






package 我的Java练习;

import java.util.Scanner;

public class Hello {
        public static void main(String[] args) {
                System.out.println("你好!");
                Scanner in = new Scanner(System.in);   //在这一行有一个警告Resource leak: "in" is never closed   
                System.out.println(in.nextLine());
        }



我没有 管它程序还是可以运行,请问一下这个错误是什么意思啊?
为什么老师跟我敲一样的代码没有这个警告呢?       
谢谢!

运行结果是
你好
\\我输入什么就重复显示什么 比如
hello
hello

TyCk 发表于 2018-12-14 21:19:24

在main函数最后加上in.close();
原因在于:你申请了一个输入流system.in,在用完这个后没有将其关闭,所以会警告。也就相当于你生活中水龙头接完水要关闭一样,不关虽然也没事,但会浪费资源。

像这种问题,都可以百度查到答案的呀。如果你是计算机专业的话,还是要学会检索的哦{:10_256:}

happy_study 发表于 2018-12-15 11:16:27

还有就是你有两次输出

多多汉堡肉 发表于 2018-12-15 16:07:58

TyCk 发表于 2018-12-14 21:19
在main函数最后加上in.close();
原因在于:你申请了一个输入流system.in,在用完这个后没有将其关闭,所以 ...

好的,谢谢!下次记得问问题之前百度!谢谢好心人

yechuang 发表于 2018-12-15 16:24:34

System.in是一个阻塞方法,他会一直等待你在控制台输入,你不输入东西他就会一直等待下去。
输出的问题是因为你这里有两个打印输出命令。而且println是会自动换行的。并不会紧跟上一次输出,而是会另起一行。
希望能帮到你。

多多汉堡肉 发表于 2018-12-15 16:49:48

yechuang 发表于 2018-12-15 16:24
System.in是一个阻塞方法,他会一直等待你在控制台输入,你不输入东西他就会一直等待下去。
输出的问题是 ...

谢谢你,讲的非常清晰了!{:9_228:}

yechuang 发表于 2018-12-15 17:05:22

多多汉堡肉 发表于 2018-12-15 16:49
谢谢你,讲的非常清晰了!

有问题尽管找我,会的绝不保留,我也在学习阶段。。温故而知新

多多汉堡肉 发表于 2018-12-15 17:33:14

yechuang 发表于 2018-12-15 17:05
有问题尽管找我,会的绝不保留,我也在学习阶段。。温故而知新

好滴!

多多汉堡肉 发表于 2018-12-15 18:48:14

本帖最后由 多多汉堡肉 于 2018-12-15 19:28 编辑

yechuang 发表于 2018-12-15 17:05
有问题尽管找我,会的绝不保留,我也在学习阶段。。温故而知新


yechuang 发表于 2018-12-15 21:52:57

多多汉堡肉 发表于 2018-12-15 18:48


{:5_109:}

多多汉堡肉 发表于 2018-12-18 11:13:33

yechuang 发表于 2018-12-15 21:52


我现在没有私信功能,不能加好友,要不你先加我QQ小号,我再把我QQ大号号码发给你。
3492398439
网名是:鱼籽钥匙扣
{:9_221:}
页: [1]
查看完整版本: 大一女,求助一个读入用户输入的小问题,谢谢好心人抽空回答!