gpt4 book ai didi

java - 查找数字中出现的数字

转载 作者:行者123 更新时间:2023-12-01 22:48:00 25 4
gpt4 key购买 nike

我正在编写一个程序,用户将输入一个数字a并查找a在另一个数字b中出现的次数由用户输入。

    import java.util.Scanner;
class Number
{
public static void main(String args[])
{
System.out.println("Enter the digit to match");
Scanner s=new Scanner(System.in);
int a=s.nextInt(); //Digit whose occurrence is to find
System.out.println("Enter the number to match");
int b=s.nextInt(); //Number in which occurrence is to find
int ctr=0;
int ctr1=0;
while(b!=0) //Number of digits in the entered number
{
b/=10;
ctr++;
}
int arr[]=new int[ctr];
for(int i=0;i<ctr;i++) //Breaking the number into array of digits
{
arr[i]=b%10;
b/=10;
if(arr[i]==a)
{
ctr1++;
}
}
System.out.println("Number of occurrences are " +ctr1);
}
}

每次输出都是0。我哪里错了?

最佳答案

执行本次循环后

        while(b!=0) //Number of digits in the entered number
{
b/=10;
ctr++;
}

b 变为 0,因此它只包含 0 以外的任何数字。

您需要将 b 的值存储在某个变量中,并在此循环之后和迭代数字之前重新初始化它。或者,仅使用第一种类型的单个循环 - 您实际上并不在任何地方使用位数。

编辑:另一种方法是将数字转换为字符串,然后使用 lastIndexOf在其上查找给定数字的位置。性能会差一些,但代码会更容易理解(而且更短)。

关于java - 查找数字中出现的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com