java - 在java中使用1个函数而不是3个函数

标签 java

下面是我的作业,我已经评分了,不用担心!反馈是“您不需要 3 个不同的函数来读取输入:使用相同的函数 3 次”。有人可以给我看看这个吗?我是 Java 新手,非常想在继续之前了解一下。

/*
*/
package numbers;

/**
 */
import javax.swing.*;
public class Numbers {

public static void main(String[] args) {
//Declare variables
    float number1 = 0, number2 = 0, number3 = 0, smallest = 0, largest = 0, 
            average, output;
    int count = 0;
    while (count< 3) {
        count += 1;

         //Call Input method    
         number1 = firstNumber();
         count+=1;
         number2 = secondNumber();
         count+=1;
         number3 = thirdNumber();

        //Method to find the largest and smallest numbers
        largest = max(number1, number2, number3);
        smallest = min(number1, number2, number3);

    }
         //Methods to calculate average and display output messages
         average = mean(number1, number2, number3);
         results(largest, smallest, average);

        //Warning messages regarding size of input numbers 
        if (smallest > 50){
        JOptionPane.showMessageDialog(null,"WARNING, YOUR NUMBERS ARE ALL "
                + "OVER 50!");
        }
        if (largest < 50){
        JOptionPane.showMessageDialog (null,"WARNING ALL YOUR NUMBERS ARE "
                + "UNDER 50!");
        }
 } 
 /*
 * Method for Data Input
 */
public static float firstNumber() {
    float firstNumber = Float.parseFloat (JOptionPane.showInputDialog("Enter your "
            + "first number: "));
    return firstNumber;
}
public static float secondNumber() {
    float secondNumber = Float.parseFloat (JOptionPane.showInputDialog("Enter your "
            + "second number: "));
    return secondNumber;
}
public static float thirdNumber() {
    float thirdNumber = Float.parseFloat (JOptionPane.showInputDialog("Enter your "
            + "third and final number: "));
    return thirdNumber;
}

 /*
 * Method for maximum calculation
 */
public static float max(float firstNumber, float secondNumber, float thirdNumber) {
   float maxValue;
   if ((firstNumber >= secondNumber) && (firstNumber >= thirdNumber))
      maxValue = firstNumber;
   else if ((firstNumber <= secondNumber) && (secondNumber >= thirdNumber))
      maxValue = secondNumber;
   else
       maxValue = thirdNumber;
   return maxValue;
 }
 /*
 * Method for minimum calculation
 */
public static float min(float firstNumber, float secondNumber, float thirdNumber) {
   float minValue;
   if ((firstNumber <= secondNumber) && (firstNumber <= thirdNumber))
      minValue = firstNumber;
   else if ((firstNumber >= secondNumber) && (secondNumber <= thirdNumber))
      minValue = secondNumber;
   else
       minValue = thirdNumber;
   return minValue;
}
/*
 * Method for average calculation
 */
public static float mean(float firstNumber, float secondNumber, float thirdNumber){
   float average;
   average = ((firstNumber + secondNumber + thirdNumber)/3);
   return average;
}
/*
 * Method for display
 */
public static void results(float maxValue, float minValue, float average){
        JOptionPane.showMessageDialog(null,"The largest of your input "
                + "numbers is: " + maxValue+ ". " + "The smallest of your input "
                + "numbers is: " + minValue+". " + "And, the average of your input "
                + "numbers is: " +average);
    }

}

谢谢!

最佳答案

您可以将所有“获取数字”方法折叠为采用参数的方法。

public static float getNumber(String promptText) {

     return Float.parseFloat(JOptionPane.showInputDialog(promptText));
}

使用它,您只需将其放入 main 方法中即可。

float number1 = getNumber("Enter your First Number");

关于java - 在java中使用1个函数而不是3个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27003229/

相关文章:

java - 甲骨文 JDBC : How to know which row throws unique key constraint?

java - PaintComponent 总是更新矩形

java - 如何将 JLabel 添加到 JEditorPane?

java - maven 构建后 getResource() 的问题

Java:无法返回带有扩展返回类型的参数的泛型集合

java - 插入符号 (^) 不会立即注册。 Java 按键监听器

java - 部署到 Web 容器、捆绑 Web 容器或嵌入 Web 容器

java - 子列表实现

java - 用于计算任务的 Akka 模型

java - key 释放的最后阶段