首页 >Java >java教程 >Java中的鸭子数

Java中的鸭子数

王林
王林原创
2024-08-30 15:15:22502浏览

以下文章提供了 Java 中 Duck Number 的概述。 Duck Number 是包含零的数字,但零不能出现在数字的开头。鸭子数是一个正的非零数,其中存在零。零存在于该数字的任何位置,除了数字的开头。例如5103、70139、201407都是鸭子号码,而0978、0355、08125则不是鸭子号码。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法

鸭子号的语法如下;有几种方法可以检查该号码是否为鸭子号码。让我们看看下面的一种格式,

checkZero =n.charAt(i); //to check whether 0 present
char f=n.charAt(0); //takes first digit of the number
if(checkZero =='0'&& f!='0')
"Duck Number".
else
"Not Duck Number"

鸭数在 Java 中是如何工作的?

鸭子数是一个正非零数,其中存在零。零存在于该数字的任何位置,除了数字的开头。让我们看看鸭子数字的例子,

例如:

4560 是一个鸭子数字,因为它有零,出现在数字的末尾,但零不存在于该数字的开头

09889 不是鸭子号码,因为它在号码开头包含零。

鸭子数 - 算法

  • 首先计算给定数字的长度,即输入的数字。
  • 将checkZero变量值初始化为0,它代表输入数字中零位数的数量。使用for循环检查直到条件满足。
  • 输入数字时每次检查一位数字,检查该数字是否等于“0”。如果数字等于“0”,则将 checkZero 增加到 1。
  • 存储输入数字的第一位数字的值,以零开始
  • 检查变量beginsZero是否不等于‘0’且checkZero是否大于0。
  • 如果两个条件都成立,则显示鸭子编号,否则显示不是鸭子编号

示例代码

int length_=inputValue.length();
int checkZero=0;
char ch;
for(int i=1;i<1;i++)
{
checkZero =n.charAt(i); //to check whether 0 present
if(ch=='0')
checkZero++;
}
char f=n.charAt(0); //takes first digit of the number
if(checkZero>0 && f!='0')
system.out.println( "Duck Number");
else
system.out.println("Not Duck Number");

上面的代码按照上面的算法来检查或查找该数字是否为 Duck Number,主要是根据“0”的出现来查找该数字。如果该数字除了开头位置以外都包含零,则称为鸭子数字。另一方面,如果数字在开始位置包含零或没有出现零,则它不是鸭子数字。

Java 中的 Duck Number 示例

鸭号是一个包含零的数字,但零不能出现在数字的开头。鸭子数是一个正的非零数,其中存在零。让我们以编程方式查看示例,

示例#1

代码:

import java.util.*;
import java.io.*;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
System.out.println("Check Whether Entered Number is Duck Nnumber");
Scanner scan = new Scanner(System.in);
System.out.print("Enter Number : ");
String nstr = scan.nextLine();
int len = nstr.length();
int ctr = 0;
char checkZero;
for(int i=1;i<len;i++)
{
checkZero = nstr.charAt(i);
if(checkZero=='0')
ctr++;
}
char firstNumber = nstr.charAt(0);
if(ctr>0 && firstNumber!='0')
System.out.println("Duck number");
else
System.out.println("Not Duck Number");
}
}

在上面的程序中,首先,它从用户那里获取号码,然后开始检查该号码的长度,并根据长度检查是否出现零checkZero = nstr.charAt(i) 通过使用 for 循环直到条件满足。然后检查第一个位置 firstNumber!=’0′ 是否出现零,如果两个条件都满足,则显示为 Duck Number;否则,这不是 Duck Number。

输出:

Java中的鸭子数

示例#2

代码:

import java.util.*;
import java.io.*;
import java.util.Scanner;
public class Main
{
static boolean To_Check_DNumber(String num)
{
// to check the '0' appearance
int i = 0,
numValue = num.length();
while (i < numValue && num.charAt(i) == '0')
i++;
// to check the remaining digits
while (i < numValue)
{
if (num.charAt(i) == '0') // return true, if there is no '0' present at beginning place
return true;
i++;
}
return false;
} // main method
public static void main(String args[]) throws IOException
{
String inputValue = "70885";
if (To_Check_DNumber(inputValue)) // if it returns true
System.out.println("Duck Number");
else
System.out.println("Not Duck Number");
}
}

在上面的程序中,它只是使用布尔函数来检查数字; 在该函数本身中,我们检查传递的数字是否是该程序本身的“鸭值”,我们根据它返回 true 或 false 的条件初始化该数字传递给 bool 函数的 input_value 。在主函数()中,我们只调用了布尔函数To_Check_DNumber(inputValue); 如果条件为真,它会显示“Duck Number”。

输出:

Java中的鸭子数

示例#3

代码:

import java.util.*;
import java.io.*;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
int rangeValue; // we can input the range value till that it checks whether the Duck_Numbers present
Scanner scan=new Scanner(System.in);
System.out.println("Enter Range_value: "); //here we need to enter the range value
rangeValue = scan.nextInt(); //to store entered value into variable
for(int i = 1; i <= rangeValue; i++)
if(check_Number(i))
{
System.out.println(i + " Duck number");
}
} // to create function call - checkNumber() which returns true if is Duck_Number
public static boolean check_Number(int getNumber)
{
while(getNumber != 0) // repeat loop until it satisfies condition
{
if(getNumber%10 == 0) // to check whether the number contains zero
return true; // if the number contains 'zero' in it then it returns true - and the Number is Duck
getNumber = getNumber / 10;
}
return false; //return false if the particular number is Not Duck Number
}
}

在这个程序中,我们可以输入范围值,直到它检查 Duck_Numbers 是否存在。

输出:

Java中的鸭子数

结论

在这篇文章中,我们了解了如何在 Java 中查找 Duck 数,这是基于零的可用性。所以我们希望这篇文章能帮助您检查该号码是否是鸭子号码。

以上是Java中的鸭子数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn