Java:JOptionPane.showMessageDialog 有问题
Java: problem with JOptionPane.showMessageDialog
我正在制作一个简单的程序,它接受 3 个整数(n1、n2、n3)的输入,例如,如果这 3 个数字是 6、12、4,它应该 return:
Integers entered: 6,12,4
Sum = 22
Average = 7.33...
Smallest = 4
Largest = 12
这是使用 JOptionPane.showMessageDialog 在文本框中显示的。代码放在一个循环中,这样每输入 3 个整数,它就会 return 如上所示。但是,当我 运行 程序时,它显示以下内容:
Integers entered: 6,6,6
Sum = 22
Average = 7.33...
Smallest = 6
Largest = 6
n2、n3 的值,最小值和最大值表示 n1 的值。这是循环中给我带来问题的代码:
JOptionPane.showMessageDialog(null, title);
String num1 = JOptionPane.showInputDialog("Enter 1st integer: ");
int n1 = Integer.parseInt(num1);
String num2 = JOptionPane.showInputDialog("Enter 2nd integer: ");
int n2 = Integer.parseInt(num2);
String num3 = JOptionPane.showInputDialog("Enter 3rd integer: ");
int n3 = Integer.parseInt(num3);
int sum = n1 + n2 + n3; //find sum
double avg = (double)sum/3; //find average
//find smallest integer
int smallest = n1;
if(n2 < smallest) n2 = smallest;
if(n3 < smallest) n3 = smallest;
//find largest integer
int largest = n1;
if(n2 > largest) n2 = largest;
if(n3 > largest) n3 = largest;
JOptionPane.showMessageDialog(null, "Integers entered: " + n1 + ", " + n2 + ", " + n3
+ "\nSum = " + sum
+ "\nAverage = " + avg
+ "\nSmallest = " + smallest
+ "\nLargest = " + largest);
如何修复它以便 n2、n3、smallest、largest 显示它们的正确值?
您将 smallest
和 largest
的值重新分配给 n2
或 n3
,具体取决于计算结果...
if(n2 < smallest) n2 = smallest;
if(n3 < smallest) n3 = smallest;
//find largest integer
int largest = n1;
if(n2 > largest) n2 = largest;
if(n3 > largest) n3 = largest;
尝试更像...
if(n2 < smallest) smallest = n2;
if(n3 < smallest) smallest = n3;
//find largest integer
int largest = n1;
if(n2 > largest) largest = n2;
if(n3 > largest) largest = n3;
我正在制作一个简单的程序,它接受 3 个整数(n1、n2、n3)的输入,例如,如果这 3 个数字是 6、12、4,它应该 return:
Integers entered: 6,12,4
Sum = 22
Average = 7.33...
Smallest = 4
Largest = 12
这是使用 JOptionPane.showMessageDialog 在文本框中显示的。代码放在一个循环中,这样每输入 3 个整数,它就会 return 如上所示。但是,当我 运行 程序时,它显示以下内容:
Integers entered: 6,6,6
Sum = 22
Average = 7.33...
Smallest = 6
Largest = 6
n2、n3 的值,最小值和最大值表示 n1 的值。这是循环中给我带来问题的代码:
JOptionPane.showMessageDialog(null, title);
String num1 = JOptionPane.showInputDialog("Enter 1st integer: ");
int n1 = Integer.parseInt(num1);
String num2 = JOptionPane.showInputDialog("Enter 2nd integer: ");
int n2 = Integer.parseInt(num2);
String num3 = JOptionPane.showInputDialog("Enter 3rd integer: ");
int n3 = Integer.parseInt(num3);
int sum = n1 + n2 + n3; //find sum
double avg = (double)sum/3; //find average
//find smallest integer
int smallest = n1;
if(n2 < smallest) n2 = smallest;
if(n3 < smallest) n3 = smallest;
//find largest integer
int largest = n1;
if(n2 > largest) n2 = largest;
if(n3 > largest) n3 = largest;
JOptionPane.showMessageDialog(null, "Integers entered: " + n1 + ", " + n2 + ", " + n3
+ "\nSum = " + sum
+ "\nAverage = " + avg
+ "\nSmallest = " + smallest
+ "\nLargest = " + largest);
如何修复它以便 n2、n3、smallest、largest 显示它们的正确值?
您将 smallest
和 largest
的值重新分配给 n2
或 n3
,具体取决于计算结果...
if(n2 < smallest) n2 = smallest;
if(n3 < smallest) n3 = smallest;
//find largest integer
int largest = n1;
if(n2 > largest) n2 = largest;
if(n3 > largest) n3 = largest;
尝试更像...
if(n2 < smallest) smallest = n2;
if(n3 < smallest) smallest = n3;
//find largest integer
int largest = n1;
if(n2 > largest) largest = n2;
if(n3 > largest) largest = n3;