简体   繁体   English

Java - 测试一个整数是否可以被 3 整除?

[英]Java - Testing an integer number if it is divisible by 3?

Here is my code:这是我的代码:

import java.util.*;
public class FindNumbers {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
        Scanner scnr = new Scanner (System.in);

        while (true) {
            System.out.print("Please enter an integer number: ");
            int number = scnr.nextInt();

            if (number > 100) {
                System.out.println("End!");
            break;
            }

            for (int i = 0; i < number; i++) {
                if (number % 3 == 0) {
                    System.out.println("This number is divisible by 3!");
                }
                else {
                    System.out.println("This number is indivisible by 3!");
                break;
                }
            }
        }
    }
}

I could not find what was wrong with it as if the input was any number that was indivisible by 3, it works.我找不到它有什么问题,就好像输入是任何不能被 3 整除的数字一样,它有效。
But for any number that is divisible by 3, it prints (the number inputted) lines of output.但是对于任何可被 3 整除的数字,它会打印(输入的数字)行输出。

Output:输出:

Please enter an integer number: 1
This number is indivisible by 3!
Please enter an integer number: 2
This number is indivisible by 3!
Please enter an integer number: 4
This number is indivisible by 3!
Please enter an integer number: 3
This number is divisible by 3!
This number is divisible by 3!
This number is divisible by 3!
Please enter an integer number: 

You need to remove your for loop:您需要删除 for 循环:

        if (number % 3 == 0) {
            System.out.println("This number is divisible by 3!");
            break;
        }
        else {
            System.out.println("This number is indivisible by 3!");
            break;
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM