![](/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.