gpt4 book ai didi

java - 如何关闭在 JAVA 方法中打开的扫描仪

转载 作者:行者123 更新时间:2023-12-01 18:26:36 24 4
gpt4 key购买 nike

我几天前开始学习JAVA,所以我的问题可能太基础了。

我创建了一段代码,如下所示:

import java.util.Scanner;

public class Que01 {

public static void main(String[] args) {

int principle=acceptInt("Principle");
int roi=acceptInt("Rate Of Interest");
int years=acceptInt("Years");
float si=simpleInterest(principle,roi,years);

System.out.println("Simple Interest for given details is : "+si);
}

static int acceptInt(String s1)
{ System.out.println("Please Enter value for "+s1+" :");
Scanner sc = new Scanner(System.in);
int i= sc.nextInt();
return i;
}
static float simpleInterest(int p,int r, int yr)
{
return p*yr*r/100;
}

}

我想知道我应该写在哪里:

sc.close();

另外:

Any other suggestion to code for improvement are Welcome!

最佳答案

您不应该关闭扫描仪,也不用担心它会在计算simpleInterest后终止。当您运行程序并输入所需值后,它将计算并返回结果并退出。在代码中,第 1 个改进是您不应该一次又一次地创建 Scanner 对象,在整个生命周期中应该只有 1 个 Scanner 对象。

下面是您更新的代码 -

public class Que01 {
private static Scanner sc = null;
public static void main(String[] args) {
sc = new Scanner(System.in);
int principle=acceptInt("Principle");
int roi=acceptInt("Rate Of Interest");
int years=acceptInt("Years");
float si=simpleInterest(principle,roi,years);

System.out.println("Simple Interest for given details is : "+si);
}

static int acceptInt(String s1)
{ System.out.println("Please Enter value for "+s1+" :");

int i= sc.nextInt();
return i;
}
static float simpleInterest(int p,int r, int yr)
{
return p*yr*r/100;
}

}

在程序启动时创建扫描仪并一次又一次地使用它。就是这样

希望这对您有帮助。

关于java - 如何关闭在 JAVA 方法中打开的扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60219364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com