题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上
例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7
请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?
参考代码:
package Java.practice;
import java.util.Scanner;
//小蓝要为一条街的住户制作门牌号。
//这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。
//小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,
//最后根据需要将字符粘贴到门牌上
//例如门牌 1017 需要依次粘贴字符 1、0、1、7,
//即需要 1 个字符 0,2 个字符 1,1 个字符 7
//请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2 ?
public class Dog
{
public static void main(String[] args)
{
int a1 = 0;
String str ="";//申明一个string类型的内存地址
Scanner scan = new Scanner(System.in);
for(int i = 0;i<=2020;i++)
{
str = i+"";
for(int j = 0;j<str.length();j++)
{
if(str.charAt(j) == '2')//看里面有多少个字符2
{
a1++;
}
}
}
System.out.println(a1);
}
}
本题要点:
1、申明一个string类型的内存地址,用来存储 1 到 2020 ,以便在下面去查询里面有多少个字符 2
String str ="";
2、通过具体的数值来指定索引,从而返回相应的字符。
str.charAt(j) == '2'