gpt4 book ai didi

java - 从 Java GUI 获取输入时出现问题

转载 作者:行者123 更新时间:2023-12-01 22:17:43 24 4
gpt4 key购买 nike

我只是在学习一点 Java 并弄清楚它是如何工作的。
我已经设法让第一个窗口“弹出”,
但我无法得到“弹出”的答案,并且帮助会很棒。

package classwork;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

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

JOptionPane.showInputDialog("What is your radius?");
double radius = input.nextDouble();

double area = radius * radius * 3.14159;
JOptionPane.showMessageDialog(null," the area for the circle of radius is " + radius + " is " + area);
}
}

最佳答案

让我们从一个事实开始,您正在跨越目的,GUI 允许用户以一种方式输入数据,控制台则以另一种方式输入数据,您应该避免同时使用这两种方式,而只需使用您可以使用的 GUI 功能...

所以,核心问题是 double radius =input.nextDouble(); 正在等待输入...尽管您刚刚提示用户输入...

您可能遇到的另一个问题是 double 可以使用科学记数法进行格式化,我确信这很棒,但对某些用户来说并不总是特别有用,因此您可能会考虑使用 NumberFormat 将 double 值格式化为我们其他人可以理解的格式;)

String value = JOptionPane.showInputDialog("What is your radius?");
// User cancelled or closed the dialog
if (value != null) {
try {
double radius = Double.parseDouble(value);
double area = radius * radius * Math.PI;
JOptionPane.showMessageDialog(null, "The area of the circle of radius " + NumberFormat.getNumberInstance().format(radius) + " is " + NumberFormat.getNumberInstance().format(area));
} catch (NumberFormatException exp) {
JOptionPane.showMessageDialog(null, value + " is not a valid double, try again");
}
}

看看How to Make Dialogs了解更多详情

关于java - 从 Java GUI 获取输入时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30659273/

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