[英]How to use Java to write a program that read a sequence of integer inputs?
使用 Java 編寫程序的最簡單方法是什么,該程序將讀取輸入並打印出最小和最大數字。 偶數和奇數輸入的數量如何?
For 循環是必需的,它需要允許用戶退出循環。 這是我到目前為止得到的(可能是錯誤的):
import java.util.Scanner;
public class E62a
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter numbers");
int number = in.nextInt();
int number2 = in.nextInt();
for(int counter = counter % 2; counter <= 6; counter++)
{
System.out.println(number);
System.out.println(number2);
}
}
}
最簡單的方法是什么(...)
在編程中,幾乎沒有一種“最簡單的方法”可以完成需要多於幾個命令的任何事情。 “簡單”的含義取決於具體情況。
如何編寫將讀取(控制台)輸入的 Java 程序?
你已經找到了一種方法:
Scanner in = new Scanner(System.in);
//...
in.nextLine(); //or nextInt(), or whatever else...
還有...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//...
String input = br.readLine();
...這是我通常使用的。 可能還有其他方法......
如何找到/打印出最小和最大數字(兩個數字之間)?
一個簡單的IF-THEN-ELSE
結構就可以了。 在 Java 中,這將是:
if (numA <= numB) { min = numA; max = numB; } else {min = numB; min = numA; }
您還可以使用 Java 的(非常干凈和方便)內置方法:
min = Math.min(numA,numB); max = Math.max(numA,numB);
您已經知道如何打印... System.out.print()
或.println()
。
偶數和奇數輸入的數量如何?
我不確定你的意思,但如果你的意思是多個輸入(超過兩個),你首先必須決定用戶將如何輸入; 就像在單行中,由空格或逗號或其他類型的separator character
,或作為多行,在這種情況下,您將需要一個trigger string
來告訴程序輸入已結束,處理應繼續/跟隨。
在單行 + 分隔符的情況下,您的程序將是干凈且高度可維護的,因為輸入的處理幾乎與界面(控制台)完全分離,但您需要解析生成的 String 以將輸入彼此分開。
在多行 + 觸發器的情況下,您將能夠在鍵入時使用單個輸入填充數組,但控制台會變得很混亂,並且與處理的耦合要大得多。
最后但並非最不重要的是,學習編程語言的最佳方法是:
干杯,祝你好運!
你想用int counter = counter % 2
什么? 這實質上是告訴程序,“創建一個整數,它等於當前值除以 2 的余數”。 這是不可能的。 counter = counter % 2
只有在counter
之前已經初始化的情況下才能工作。
您的for
循環沒有為用戶提供手動退出的方法。 要允許用戶手動退出循環,您需要編寫它以接受循環內的用戶輸入並提供退出條件。 以下是您如何做到這一點的一個示例:
Scanner in = new Scanner(System.in);
Integer input;
ArrayList<Integer> numbers = new ArrayList<>();
for (int i=0; i<=6; i++) {
System.out.print("Enter a number or enter -1 to exit: ");
input = in.nextInt();
if (input != -1) {
numbers.add(input);
} else {
break;
}
}
這將允許用戶輸入最多六個數字並可以選擇退出。 由於在此示例中numbers
是一個ArrayList
,因此可以使用get()
函數get()
檢索項目。 例如, System.out.println(numbers.get(0))
將顯示添加到numbers
的第一個numbers
。
確定最小和最大數字可以這樣完成:
int largest = -1;
int smallest = -1;
for (int i=0; i<numbers.size(); i++) {
if (numbers.get(i) > largest) {
largest = numbers.get(i);
}
if ((numbers.get(i) < smallest) || (smallest == -1)) {
smallest = numbers.get(i);
}
}
這部分代碼將計算偶數和奇數輸入的數量:
int evenNumbers = 0;
int oddNumbers = 0;
for (int i=0; i<numbers.size(); i++) {
if ((numbers.get(i) % 2) == 0) {
evenNumbers++;
} else {
oddNumbers++;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.