嗨,我真的很困惑如何问用户一个开始号码和一个结束号码。
使用for循环来迭代整数的范围。
显示:
该范围内偶数的列表显示的偶数数
import java.util.Scanner;
public class Assignment8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyboard = new Scanner(System.in);
int count;
int end;
int start;
System.out.println("Enter the starting number");
start = keyboard.nextInt();
System.out.println("Enter the ending number");
end = keyboard.nextInt();
for(int count=start; count <= end; count++){
if( count % 2 == 0){
System.out.print(i + " ");
System.out.println("Enter the next number");
i = keyboard.nextInt();
}
}
}
}到目前为止,这就是我所得到的,但我不知道如何开始一个列表,并计算它们。
我只是不明白它是如何做的,它不是一定数量的用户可以做多少,他们想要的数字或任何数字。
发布于 2016-10-16 22:39:58
尝试按以下方式编写代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MainApp {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int end;
int start;
List<Integer> evenNumbers = new ArrayList<Integer>();
System.out.println("Enter the starting number");
start = keyboard.nextInt();
System.out.println("Enter the ending number");
end = keyboard.nextInt();
for (int i = start; i <= end; i++) {
if (i % 2 == 0) {
evenNumbers.add(i);
}
}
System.out.println("There are " + evenNumbers.size() + " even numbers between [" +start +"," + end + "]");
System.out.println("The numbers are: " + evenNumbers.toString());
}
}如果需要start和end之间的数字,请按以下方式更改for循环:
i++
for (int i = start; i < end; i++)发布于 2016-10-16 22:47:57
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class EvenNumber {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int end;
int start;
List<Integer> evenNumbers = new ArrayList<Integer>();
System.out.println("Enter the starting number");
start = keyboard.nextInt();
System.out.println("Enter the ending number");
end = keyboard.nextInt();
keyboard.close();
for (int i = start; i <= end; i++) {
if (i % 2 == 0) {
evenNumbers.add(i);
}
}
if (!evenNumbers.isEmpty()) {
System.out.println("Even Numbers between " + start + " and " + end);
System.out.println(evenNumbers);
}
}
}发布于 2016-10-16 22:38:52
另外,如果您想要对性能进行稍微优化,那么您只需要检查开始号是否是奇数。如果是的话,就把1加进去。然后,您可以在每次循环迭代之后使用i += 2而不是i++,并且不需要检查循环中的数字是否均匀,因为它总是在循环中。
关于您的实际问题:只需删除循环中的最后两行。您不希望用户每次在循环输出数字时输入一些数字,对吗?
https://stackoverflow.com/questions/40076117
复制相似问题