首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java for Loops的方法

Java for Loops的方法
EN

Stack Overflow用户
提问于 2016-10-16 22:22:42
回答 3查看 89关注 0票数 0

嗨,我真的很困惑如何问用户一个开始号码和一个结束号码。

使用for循环来迭代整数的范围。

显示:

该范围内偶数的列表显示的偶数数

代码语言:javascript
复制
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();

        }
    }  
    }
}

到目前为止,这就是我所得到的,但我不知道如何开始一个列表,并计算它们。

我只是不明白它是如何做的,它不是一定数量的用户可以做多少,他们想要的数字或任何数字。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-16 22:39:58

尝试按以下方式编写代码:

代码语言:javascript
复制
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());

    }
}

如果需要startend之间的数字,请按以下方式更改for循环:

代码语言:javascript
复制
i++
for (int i = start; i < end; i++)
票数 0
EN

Stack Overflow用户

发布于 2016-10-16 22:47:57

代码语言:javascript
复制
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);
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2016-10-16 22:38:52

另外,如果您想要对性能进行稍微优化,那么您只需要检查开始号是否是奇数。如果是的话,就把1加进去。然后,您可以在每次循环迭代之后使用i += 2而不是i++,并且不需要检查循环中的数字是否均匀,因为它总是在循环中。

关于您的实际问题:只需删除循环中的最后两行。您不希望用户每次在循环输出数字时输入一些数字,对吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40076117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档