首页 > 试题广场 >

已知一个0到99999999之间的正整数,找到一个指定数字在

[问答题]

已知一个0到99999999之间的正整数,找到一个指定数字在该正整数中出现的次数。

DigitOccurrence类的构造方法是findDigitOccurrence。该方法的输入应包含两个正整数, num1和num2,0<=num1<=9 and 0<=num2<=99999999。

该方法应返回一个整数变量,变量值等于num1unm2中的出现次数。

例如:如果num1=2,num2=123228,则此方法应返回3,即num1在num2中的出现次 数。

确保类和方法为public。不要从控制台接受任何输入。应将输入作为参数传递给该方法 本身。

有用的命令:

a%b返回a除以b的余数。

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long giveNum;
        int forNum;
        while (true) {
            System.out.println("请输入一个整数(0-99999999):");
            giveNum = scanner.nextLong();
            if (giveNum<0||giveNum>99999999){
                System.out.println("你输入的数字不符合要求,请重新输入!");
                continue;
            }
            System.out.println("请输入指定数字(0-9);");
            forNum=scanner.nextInt();
            if (forNum<0||forNum>9){
                System.out.println("你要指定的数字不符合要求,请重新输入!");
                continue;
            }
            break;
        }
        System.out.println(forNum+"在"+giveNum+"中出现的次数为"+getTimes(giveNum,forNum)+"次");
    }

    private static int getTimes(long giveNum,int forNum){
        String str=giveNum+"";
        int count=0;

        for (int i = 0; i < str.length(); i++) {
            if ((forNum+"").equals(str.charAt(i)+"")){
                count++;
            }
        }
        return count;
    }
请输入一个整数(0-99999999):
9416030
请输入指定数字(0-9);
0
0在9416030中出现的次数为2次
发表于 2019-09-08 18:45:39 回复(0)
public class DigitOccurrence {
	private int num1;
	private int num2;

	public DigitOccurrence(int num1, int num2) {
		this.num1 = num1;
		this.num2 = num2;
	}

	public int demo() {
		int sum = 0;
		String num = String.valueOf(this.num2);
		char[] num3 = num.toCharArray();
		String temp = String.valueOf(num1);
		char num4 = temp.charAt(0);
		for (int i = 0; i < num3.length; i++) {
			if (num4 == num3[i]) {
				sum = sum + 1;
			}
		}
		return sum;
	}

	public static void main(String args[]) {
		DigitOccurrence d = new DigitOccurrence(2, 231924);
		System.out.println(d.demo());
	}

}

发表于 2017-08-04 16:27:26 回复(0)
def getr(num1,num2):
   s1 = str(num1)
   s2 = str(num2)
   r = 0    for i in range(len(s2)):  if s1 == s2[i]:
             r +=1    return r
c = getr(1,123211111) print(c)


发表于 2018-07-08 12:22:20 回复(0)
function DigitOccurrence(n, num) {
    const arr = num.toString().split('');
    return arr.filter(i => i == n).length;
}
用JS的方法实现一下
编辑于 2018-05-28 13:57:26 回复(0)
import random
m=random.randint(0,99999999) 
print(m)
a=list(str(m))
n=input('输入一个数:')
j=0
for i in a:
    if n==i:
        j+=1
print(j)

发表于 2018-03-20 21:33:14 回复(0)
构造方法不同名这种问答题总是说的不明不白
发表于 2018-03-01 13:41:58 回复(0)
v
发表于 2017-09-29 12:25:06 回复(0)
public static int findCount(int num1,int num2){
String input=Integer.toString(num1);
char[] output=Integer.toString(num2).toCharArray();
int count=0;
for(int i=0;i<output.length;i++){
if(String.valueOf(output[i])==input){
count++;
}
}
return count;
}
发表于 2017-08-07 15:17:02 回复(0)