侠義芝士 2019-09-07 14:44 采纳率: 100%
浏览 492
已采纳

初学者搞不定Java输入流的关闭

不懂应该在哪设置输入流的关闭,试了几个地方,但接着循环,本来要输入的就直接程序关闭报错。(也就几个地方可以放close(),可总是搞不定)

package Week2;

import java.util.Scanner;

public class homework4_16 {

public static void main(String[] args) {
    String s1 = "Welcome to Java";
    String s2 = "Programming is fun";
    String s3 = "Welcome to Java";
    int i = 1;
    do {
        System.out.print("输入字母编号a-v:");
        Scanner input = new Scanner(System.in);
        String ch = input.nextLine();
        switch (ch) {
        case "a":
            System.out.println(s1 == s2);
            break;
        case "b":
            System.out.println(s2 == s3);
            break;
        case "c":
            System.out.println(s1.equals(s2));
            break;
        case "d":
            System.out.println(s1.equals(s3));
            break;
        case "e":
            System.out.println(s1.compareTo(s2));
            break;
        default:
            continue;
        }
        System.out.print("继续请输入1,退出输入0 :");
        i=input.nextInt();
        while(i!=1&&i!=0) {
            System.out.print("请输入1或0 :");
            i=input.nextInt();
        }
    } while (i == 1);
}

}

  • 写回答

3条回答 默认 最新

  • Json-Huang 2019-09-07 15:20
    关注

    建议用加上try-catch-finally,在finally执行关闭流操作即可
    try {
    }catch(Exception e){
    }
    finally{
    //这里关闭流操作
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料