简单的Java App,用于计算无限数量的输入数字的平均值

时间:2012-01-03 17:04:42

标签: java swing average

我对Java完全陌生并且即将完成任务;简要说明如下:

Swing界面。 应用程序必须允许用户输入一些数据并单击按钮。 应用程序必须具有事件处理程序以响应单击按钮事件。 应用程序必须对输入的数据执行某些操作。 应用程序必须将修改后的数据返回给用户。

我原本打算创建一个将数字转换为不同单位的应用程序(例如kgs到lbs),但发现它非常困难,所以决定去寻找一个可以找到大量输入平均值的应用程序。

这是我找到预定义数组平均值的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

    class FindAverageNumber extends JFrame {
        public static void main(String[] args){
            double numbers[] = new double[]{1,2,3,4,5,6,7,8,9,20};
            double average = 0;
            double cumulative = 0;
            for (int i=0; i<numbers.length; i++){
                double selected = numbers[i];
                cumulative = (cumulative + selected);
            }
            average = (cumulative / numbers.length);
            System.out.println("The average of the array is: "+average);
        }
    }

代码似乎运行正常但是,对于Java来说,我不知道如何从用户那里获取这些数字,同时还包含一个swing接口(我迷失了)。我假设接受一个数组是最好的方法,用户会看到一个文本字段。我不知道如何将输入分成数组中自己的索引。

我很感激任何帮助;我意识到我有很多基本问题。

5 个答案:

答案 0 :(得分:4)

如果您有文本字段,则需要解析输入。您可以使用String.split()方法:

例如,如果您收到input作为"1,2,3,4,5",则会将其称为

input.split(",");

答案 1 :(得分:2)

不是尝试接受数组,而是使用包含JTextField的UI来输入单个数字而使用JButton来提交输入。 然后,您可以根据已处理的数字更新平均值/总数/ ...(无论您想要计算什么)。如果用户想要添加额外的数字,它只需填写一个额外的值并再次按下该按钮。对用户来说更加友好,然后输入一个数组,更少混淆的可能性(空格,分号,逗号等单独的数字)

要显示计算值,您可以使用JLabel(或多个)。

为了帮助您开始构建UI,您可以查看优秀的Swing tutorial。要搜索的关键字或我已提及的类,以及JFrameJPanel作为容器,将所有这些组件添加到

答案 2 :(得分:0)

您可以将用户输入作为由某些字符(例如,(逗号)或:(冒号)分隔的字符串)。输入后,您可以拆分数字并进行计算。

注意:你是一名学生,我不想给出确切的程序来做这件事。自己探索,如果再遇到困难,你可以提问。

答案 3 :(得分:0)

查看任何Swing教程。具体来说,请查看JFrameJTextFieldJButton。您还应该了解MVC是什么。在这种情况下,您的模型由输入的数字(或其中的某些功能)组成。因此,您可以选择避免使用逗号分隔的字符串,只显示“添加”按钮。如果您确实一直只允许输入一个号码,请查看JFormattedTextFieldDecimalFormat配对

此外,从数学的角度来看,如果要跟踪无限数量的数字,则应考虑使用BigDecimal。请注意,它有一个带字符串的构造函数。

答案 4 :(得分:0)

go google“Java Swing Tutorial”。有关如何显示UI控件的用户可以选择多种选项。

http://www.javabeginner.com/java-swing/java-swing-tutorial

甚至还有用于在JFrame上显示JTextField的代码。您应该能够弄清楚如何将JButton添加到该混合中。