我是一名学生,正在尝试自己学习编程,从在线资源和像你这样的人那里获得帮助.我发现在线练习创建一个小程序,它将执行此操作:
编写一个程序,读取数字a和b(类型为long),并列出a和b之间的数字可以被2,3或5整除.
例如:
a=11
b=30
计数器会14
,因为有14
整除的数字2
,3
或5
在两者之间:
12, 14, 15, 16, 18, 20, 21, 22, 24,25, 26, 27, 28, 30
这是我已经尝试过的,但它似乎不起作用.我需要你的指导和帮助来完成这个.感谢您的时间和您的辛勤工作.
import java.util.Scanner; public class V { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); for (long c = a; c <= b; c++) { if (c%2 || c%3 || c%5) { System.out.println(c); } } } }
该计划的当前阶段:
import java.util.Scanner; public class Test2 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); long count = 0; // counter for (long c = a; c <= b; c++) { if (c % 2 == 0 || c % 3 == 0 || c % 5 == 0) { count++; System.out.println(c); } } } }
还有一件事要做:
现在它列出了可以被2,3或5整除的数字.但我只需要一个数字来计算有多少数字.
你是在正确的方式 - 你只需要将你的模数表达式转换为条件 - 即,检查余数是否实际为0.此外,你应该在循环变量和结果的计数器之间分开:
long c = 0; // counter for(long l = a; l <= b; l++) { if (l % 2 == 0|| l % 3 == 0 || l % 5 == 0) { ++c; } } System.out.println(c);