【JAVA小白】 问关于input关不掉的问题

代码如下:

import java.util.Scanner;

import com.sun.jmx.snmp.SnmpUnknownSubSystemException;

public class ForProject {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个值:");
        int num = input.nextInt();
        System.out.println("根据这个值可以输出以下加法表:");
        for(int i=0 ;i <= num; i++){
            System.out.println(i +"\t"+ "+"+"\t"+ (num - i) +"\t" + "="+ "\t" + num );
        }
        
    }
    
}

运行结果是没问题,问题是eclipse里面总是显示黄色图标,并且警告说:input is never closed
网上查了下,说是input因为一直没有关闭,所以导致内存一直消耗,关掉就可以了
问题是代码下面加了close之后,又给我弹出The method close() is undefined for the type Input
我想问下这到底是什么情况

代码如下:

import java.util.Scanner;

import com.sun.corba.se.spi.orbutil.fsm.Input;
import com.sun.jmx.snmp.SnmpUnknownSubSystemException;

public class ForProject {
    public static void main(String[] args) {
        try{
            Scanner input = new Scanner(System.in);
            System.out.print("请输入一个值:");
            int num = input.nextInt();
            System.out.println("根据这个值可以输出以下加法表:");
            for(int i=0 ;i <= num; i++){
                System.out.println(i +"\t"+ "+"+"\t"+ (num - i) +"\t" + "="+ "\t" + num );
            }
        }finally{
            Input.close();
        }
    }
    
}

系统提示:

clipboard.png

阅读 4k
2 个回答
    public static void main(String[] args) {
            Scanner input = null;
            try{
                 input = new Scanner(System.in);
                 System.out.print("请输入一个值:");
                 int num = input.nextInt();
                 System.out.println("根据这个值可以输出以下加法表:");
                 for(int i=0 ;i <= num; i++){
                     System.out.println(i +"\t"+ "+"+"\t"+ (num - i) +"\t" + "="+ "\t" + num );
                 }
            }finally{
                if(null != input){
                    input.close();
                }
            }
    }
package com.justTest;

import java.util.Scanner;


public class ForProject {
    public static void main(String[] args) {
        Scanner input = null;
        try {
            input = new Scanner(System.in);

            System.out.print("请输入一个值:");
            int num = input.nextInt();
            System.out.println("根据这个值可以输出以下加法表:");
            for (int i = 0; i <= num; i++) {
                System.out.println(i + "\t" + "+" + "\t" + (num - i) + "\t" + "=" + "\t" + num);
            }
        }finally {
            input.close();
        }

    }

}

把你这个去掉import com.sun.corba.se.spi.orbutil.fsm.Input;
用代码补全功能的时候,注意一下用的是哪个类

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题