簡體   English   中英

Java:JOptionPane.showMessageDialog問題

[英]Java: problem with JOptionPane.showMessageDialog

我正在制作一個簡單的程序,該程序接受3個整數(n1,n2,n3)的輸入,因此,例如,如果3個數字分別為6,12,4,則應返回:

Integers entered: 6,12,4  
Sum = 22  
Average = 7.33...  
Smallest = 4  
Largest = 12  

使用JOptionPane.showMessageDialog將其顯示在文本框中。 該代碼放入循環中,這樣對於每輸入3個整數,它將返回上面顯示的內容。 但是,當我運行該程序時,它將顯示以下內容:

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(最小,最大)顯示其正確值?

您根據評估結果將smallestlargest的值分配回n2n3 ...

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM