java 基础的写法给定一个十进制正整数n(1≤n≤10000),写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。 例如当n=2时,写下1,2。这样只出现了1个“1”; 当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。 这样出现了5个“1”
时间: 2024-03-21 18:39:51 浏览: 55
给定一个十进制正整数N,程序输出从1到N的所有整数中,“1”出现的个数。DMU
5星 · 资源好评率100%
以下是 Java 代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int count = 0;
for (int i = 1; i <= n; i++) {
String str = Integer.toString(i);
for (int j = 0; j < str.length(); j++) {
if (str.charAt(j) == '1') {
count++;
}
}
}
System.out.println(count);
}
}
```
在这个程序中,先通过 Scanner 读入正整数 n。然后使用一个循环遍历 1 到 n 中的每个数,将它转换成字符串。接着再使用一个循环遍历字符串中的每个字符,如果这个字符是 '1',就将计数器加 1。最后输出计数器的值,即 1 到 n 中数字 1 出现的总次数。
这种方法的思路比较简单,但是效率可能不如数学方法高,因为它需要将每个数都转换成字符串并遍历每个字符。但是对于小规模的数据来说,这种方法已经足够了。
阅读全文