gpt4 book ai didi

java - 我完美运行的 Java 代码在 IntelliJ IDEA 中抛出异常

转载 作者:行者123 更新时间:2023-12-01 16:28:17 25 4
gpt4 key购买 nike

我一直在使用 eclipse 和 OnlineGDB 来完成我的 Java 工作。我最近开始使用 IntelliJ IDEA,我非常喜欢它。但我尝试在 IntelliJ IDEA 中完成一个关于文件操作的简单项目。但它在运行过程中给我一个错误。 使用完全相同的代码,我在 OnlineGDB 中没有遇到任何问题。

import java.util.InputMismatchException;
import java.util.Scanner;
import java.io.File;
import java.io.PrintWriter;

public class Main

{
static void createFile() throws Exception
{
PrintWriter output = new PrintWriter(new File("input.txt"));
output.print("2.5");
output.close();
}


public static void main(String[] args) throws Exception
{
Scanner input = new Scanner(System.in);
Circle[] circles = new Circle[3];

circles[0] = new Circle(1.0);

System.out.print("Radius of the second circle => ");
circles[1] = new Circle(input.nextFloat());
input.close();

createFile();
input = new Scanner(new File("input.txt"));
circles[2] = new Circle(input.nextFloat());
input.close();

for (int i = 0; i<=circles.length-1; i++)
{
System.out.println( "c(" + i + ") radius = " + circles[i].getRadius()
+ " area = " + circles[i].area() );
}

float total = 0;
for (int i = 0; i<3; i++)
{
total +=circles[i].getRadius();
}
System.out.println("Total radius of the circles = " + total );

total = 0;
for (int i = 0; i<3; i++)
{
total+= circles[i].area();
}
System.out.println("Total area of the circles = " + total);
}
}
<小时/>
    public class Circle
{
private double radius;

public Circle (double radius)
{
this.radius = radius;
}

public double getRadius()
{
return radius;
}

public double area()
{
return(Math.PI * radius * radius);
}
}
<小时/>

在这些行中它给了我“java.util.InputMismatchException”错误:

System.out.print("Radius of the second circle => ");
circles[1] = new Circle(input.nextFloat());
input.close();

最佳答案

System.out.print("Radius of the second circle => ");
circles[1] = new Circle(input.nextFloat());
input.close();

我将 input.nextInt() 更改为 input.nextFloat()更改期望整数读取 float (或 double ,如果您愿意)的代码部分。您应该能够输入 2.5 这样的值并且不会出现任何错误。

我在评论中解释了为什么输入 2.5 会出错

示例输出:

Radius of the second circle => 2.5
c(0) radius = 1.0 area = 3.141592653589793
c(1) radius = 2.5 area = 19.634954084936208
c(2) radius = 2.5 area = 19.634954084936208
Total radius of the circles = 6.0
Total area of the circles = 42.4115

关于java - 我完美运行的 Java 代码在 IntelliJ IDEA 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62117879/

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