java - 在特定模式上编号
问题描述
我想要一个在特定模式上生成数字的代码。例如:
- 如果数字在 0-39 范围内,则为 0。
- 如果数字在 40-79 范围内,则为 40。
- 如果数字在 80-119 范围内,则为 80,依此类推...
这是我正在尝试的代码:
for(int t=1 ; t<300 ; t=t*10){
if(t+40 > somenumber && t-40 < sumnumber){
System.out.println("match "+t);
break;
}
}
解决方案
您需要使用int division
:86/40 = 2
因为它只保留int part
(86/40.0 would give 2.15
如果step
是 a double
,您将需要res = step * Math.floor(t / step)
int step = 40;
for (int t = 1; t < 300; t += 10) {
int res = step * (t / step);
System.out.printf("%3d => %3d%n", t, res);
}
/*
1 => 0
11 => 0
21 => 0
31 => 0
41 => 40
51 => 40
61 => 40
71 => 40
81 => 80
91 => 80
101 => 80
111 => 80
121 => 120
131 => 120
141 => 120
151 => 120
161 => 160
171 => 160
181 => 160
191 => 160
201 => 200
211 => 200
221 => 200
231 => 200
241 => 240
251 => 240
261 => 240
271 => 240
281 => 280
291 => 280
推荐阅读
- javascript - 如何使标签内容在 javascript 中处于活动状态?
- bash - 使用 sed 删除多个 AWS 错误
- c++ - c++测试程序中的非法系统调用(对角矩阵元素之和程序)
- jsf-2 - 已使用 @Transactional 注释的方法中的 TransactionRequiredException
- node.js - 事后如何编写 HTTP 500 错误标头
- mql4 - MQL4 只需添加到一张图表即可在所有交易品种上运行 EA
- nginx - SignalR .NET Core 2.1 不适用于代理的 docker 容器
- sql-server - 可以提取存储在 XML 中的列中的 *distinct* 键(跨所有行)吗?
- python - PyQt GUI 项目在其主类之外
- javascript - 如何阅读和理解角度模板解析器错误