gpt4 book ai didi

Java:JOptionPane 输入

转载 作者:行者123 更新时间:2023-12-01 09:04:41 24 4
gpt4 key购买 nike

我有一个程序代码,它将 (SI) 单位转换为另一种单位。我正在使用 JOptionPane,它正在工作。但我有一个问题,我必须输入数字 8 次,而不仅仅是 2 次。

有人可以提出解决方案吗?

import javax.swing.JOptionPane;

class Aufgabe {

// Newton in Kilopond
static double newton(){
double e = readin()[0];
double newton = e*0.10197;
return newton;
}

// Kilopond in Newton
static double kilopond(){
double f = readin()[1];
double kilopond = f/0.10197;
return kilopond;
}

// method readin
static double[] readin(){
String a = JOptionPane.showInputDialog("newton:");
String b = JOptionPane.showInputDialog("kilopond:");
double n = Double.parseDouble(a);
double k = Double.parseDouble(b);
return new double[]{n, k};
}

// Main-Methode
public static void main (String[] args) {
double a = readin()[0];
double b = readin()[1];
double c = newton();
double d = kilopond();
System.out.println(a + " N = " + c + "kp");
System.out.println(b + " kp = " + d + "N");
}
}

最佳答案

每次编写 readin() 时,都会调用该方法,并要求用户输入两个值。这发生在代码中的四个位置,总共 8 个对话框。

相反,只调用该方法一次。将返回值存储在变量中,并将必要的值作为参数传递给需要它的方法:

class Aufgabe {

private static final double CONVERSION_FACTOR = 0.10197;

// Newton in Kilopond
static double newton(double e) {
double newton = e * CONVERSION_FACTOR;
return newton;
}

// Kilopond in Newton
static double kilopond(double f) {
double kilopond = f / CONVERSION_FACTOR;
return kilopond;
}

// method readin
static double[] readin() {
String a = JOptionPane.showInputDialog("newton:");
String b = JOptionPane.showInputDialog("kilopond:");
double n = Double.parseDouble(a);
double k = Double.parseDouble(b);
return new double[] { n, k };
}

// Main-Methode
public static void main(String[] args) {
double[] valuesRead = readin();
double a = valuesRead[0];
double b = valuesRead[1];
double c = newton(a);
double d = kilopond(b);
System.out.println(a + " N = " + c + "kp");
System.out.println(b + " kp = " + d + "N");
}
}

关于Java:JOptionPane 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41378456/

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