2014-09-18 178 views
0

它的工作原理,但我需要一個替代JOptionPane。這是一項家庭作業,我們不允許使用JOptionPane。這是我的工作,這不是教練想要的。JOptionPane的替代方案?

import java.awt.*; 
import javax.swing.*; 
@SuppressWarnings("serial") 
public class calc extends JApplet { 

    double sum; 
    double product; 
    double difference; 
    double quotient; 

    public void init() { 
     String firstNumber = JOptionPane.showInputDialog("Enter the first number"); 
     String secondNumber = JOptionPane.showInputDialog("Enter the second number"); 
     String thirdNumber = JOptionPane.showInputDialog("Enter the third number"); 
     double number1 = Double.parseDouble(firstNumber); 
     double number2 = Double.parseDouble(secondNumber); 
     double number3 = Double.parseDouble(thirdNumber); 
     sum = number1 + number2 + number3; 
     product = number1 * number2 * number3; 
     difference = number1 - number2 - number3; 
     quotient = number1 % number2 % number3; 
    } 

    public void paint(Graphics g) { 
     super.paint(g); 
     g.drawRect(15, 10, 270, 60); 
     g.drawString("Sum "+sum, 25, 25); 
     g.drawString("Product "+product, 25, 35); 
     g.drawString("Difference "+difference, 25, 45); 
     g.drawString("Quotient "+quotient, 25, 55); 
    } 
} 
+1

學校,總是10年後在IT ... – Sebas 2014-09-18 20:57:13

+1

這將有助於,如果你描述了練習的目標是什麼。 – Guillaume 2014-09-18 20:57:35

+0

'Java Swing' ---'JLabel','JTextField','JButton'等... – 2014-09-18 21:00:24

回答

0

您可以使用掃描儀法,也初始化變量雙打,這樣你就不需要不必要的解析字符串。嘗試是這樣的:

public void init() { 
     Scanner input = new Scanner(System.in); 

     System.out.println("Enter the first number");   
     double number1 = input.nextDouble(); 

     System.out.println("Enter the second number"); 
     double number2 = input.nextDouble(); 

     System.out.println("Enter the third number"); 
     double number3 = input.nextDouble(); 

     sum = number1 + number2 + number3; 
     product = number1 * number2 * number3; 
     difference = number1 - number2 - number3; 
     quotient = number1 % number2 % number3; 
    } 

然後顯示無JOptionPane的,你可以使用類似這樣的一行:

System.out.println("Quotient is " + quotient); 

要記住,在必要時導入!

import java.util.Scanner; 

關於分配的一些額外的明確性將使這個問題更容易回答,但這是我基於可用信息的最佳猜測。我認爲你的老師不允許你使用JOptionPane的唯一原因是因爲它還沒有被覆蓋在課程當中,並且由於JOptionPane在大多數計算機科學課程中相對較早的時候教過,我猜測Scanner方法可能是你的老師正在尋找。如果您已經介紹了掃描器方法,請嘗試查看InputStreamReader方法。希望這有助於;)