2014-09-18 174 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方法。希望这有助于;)