[英]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.