侠義芝士 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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。