![](/img/trans.png)
[英]Java program reading indefinite amount of numbers from a user till a positive is entered
[英]Simple Java App to calculate the average of an indefinite amount of entered numbers
我是Java的新手,并且有工作要做。 简要说明如下:
Swing接口。 该应用程序必须允许用户输入一些数据并单击一个按钮。 该应用程序必须具有事件处理程序,以对单击按钮事件做出反应。 应用程序必须对输入的数据执行某些操作。 应用程序必须将修改后的数据返回给用户。
我本来打算创建一个将数字转换为不同单位(例如,公斤到磅)的应用程序,但是发现它非常困难,因此决定选择一款能够找到多个输入平均值的应用程序。
这是我用于查找预定义数组平均值的代码:
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来说,这是新手,我不知道如何从用户那里获取这些数字,同时还包含一个摆动接口(我迷路了)。 我假设接受数组是执行此操作的最佳方法,并且向用户显示一个文本字段。 我不知道如何将输入分成数组中自己的索引。
我将不胜感激。 我意识到我有很多基本问题。
与其尝试接受一个数组,不如选择一个UI,该UI包含一个用于输入单个数字的JTextField
和一个用于提交输入的JButton
。 然后,您可以根据已处理的数字更新平均值/总计/ ...(无论要计算什么)。 如果用户想添加一个额外的数字,则只需填写一个额外的值,然后再次按下按钮。 这样一来,用户不得不输入数组,对用户更加友好,并且混淆的可能性也越来越小(数字之间用空格,分号,逗号隔开,...)。
要显示计算值,可以使用JLabel
(或多个)。
为了让您开始构建UI,您可以看一下出色的Swing教程 。 要搜索的关键字或我已经提到的类,并将JFrame
和JPanel
作为容器将所有这些组件添加到
您可以将用户输入作为字符串,以诸如,(逗号)或:(冒号)之类的字符分隔。 输入后,您可以分割数字并进行计算。
注意:您是学生,我不想提供确切的程序来执行此操作。 自行探索,如果再次遇到困难,可以提出问题。
看看任何Swing教程。 具体来说,请看JFrame
, JTextField
和JButton
。 您还应该阅读什么是MVC。 在这种情况下,您的模型由输入的数字(或其中的某些功能)组成。 因此,您可以选择避免使用逗号分隔的字符串,而只显示“添加”按钮。 如果您确实允许一次只输入一个数字,请查看JFormattedTextField
与DecimalFormat
配对
另外,从数学角度来看,如果要跟踪数量不确定的数字,则应考虑使用BigDecimal
。 请注意,它具有采用字符串的构造函数。
转到Google“ Java Swing教程”。 关于如何显示用户界面控件,将有多个选项可供选择。
http://www.javabeginner.com/java-swing/java-swing-tutorial
甚至还有用于在其中显示JFrame上的JTextField的代码。 您应该能够弄清楚如何向该混合添加JButton。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.