我刚开始学习Java,并编写了这段代码来练习创建接口。我意识到在这里使用接口关系可能不是它应该被实际使用的方式,但我只是为了练习和基本理解而这样做。在多个类中使用扫描器
因此,无论如何,我创建了程序,让用户输入他们想要执行的操作,然后执行上述操作。为此,用户提供两个输入:首先是他们想要执行的操作,然后是他们希望执行的操作。例如,如果他们想要找到4的平方根,他们首先输入2来选择平方根,然后输入4来表示他们想要找到4的平方根。为此,我打开扫描仪在多个类上的类。但是,关闭任何一个类中的扫描器都会产生一个错误,因为显然一旦关闭它在文件中就无法重新打开。我搜索了很多,大部分建议都是围绕着说使用像这样的扫描器的多个实例而产生问题,因此只创建一个。虽然我可以重写这个代码,以使这一调整,我想知道是否有办法,我可以做我所做的事情不会产生任何警告信息,就像他们在这段代码弹出:
import java.util.Scanner;
public class Operation
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("1. Square");
System.out.println("2. Square Root");
System.out.print("Enter Number: ");
int choice = in.nextInt();
switch(choice)
{
case 1:
Squaring s1 = new Squaring();
s1.getDim();
s1.operate();
break;
case 2:
Root r1 = new Root();
r1.getDim();
r1.operate();
}
}
}
interface Method
{
void getDim();
void operate();
}
class Squaring implements Method
{
double n, r;
public void getDim()
{
Scanner in = new Scanner(System.in);
System.out.print("Input Number: ");
n = in.nextDouble();
}
public void operate()
{
r = n*n;
System.out.println("Squared of " + n + " is = " + r);
}
}
class Root implements Method
{
double n, r;
public void getDim()
{
Scanner in = new Scanner(System.in);
System.out.print("Input Number: ");
n = in.nextDouble();
in.close();
}
public void operate()
{
r = Math.sqrt(n);
System.out.println("Square root of " + n + " is = " + r);
}
}
您粘贴的代码不会显示任何警告/错误。它工作得很好。你还想要什么? – progyammer