java - 检查一个号码是否是唯一号码
问题描述
我编写了一个程序来检查一个数字是否是唯一数字。[唯一编号是没有重复数字且没有前导零的数字。]
我写了以下代码:
Scanner sc=new Scanner(System.in)
System.out.println("Enter the number to be checked: ");
String num=sc.nextLine();
if(num.charAt(0)!='0')
{
Outer:
for(int i=0;i<num.length();i++)
{
for(int j=0;j<num.length();j++)
{
if(num.charAt(i)==num.charAt(j))
{
System.out.println("No, "+num+" is not a Unique number.");
break Outer;
}
}
if(i==num.length()-1)
{
System.out.println("Yes, "+num+" is a Unique number.");
}
}
}
else
System.out.println("No, "+num+" is not a Unique number as it has leading zeros.");
问题是任何数字都显示为不唯一,甚至是 12345。我想知道我哪里出错了。
解决方案
当i == j
.
您应该更改循环的索引,以免将字符与其自身进行比较:
for(int i=0;i<num.length();i++) {
for(int j=i+1;j<num.length();j++) {
if(num.charAt(i)==num.charAt(j))
...
此外,您应该只输出“...是一个唯一的数字”。完成外循环后的消息。
推荐阅读
- vba - 在 AutoCAD vba 中出现数组错误。下标超出范围
- html - 如何使 2 个表格单元格的长度相同但文本数量不同?
- javascript - 带有 HTML5 视频的 WebView 中的内存泄漏
- c# - 数据库集
将 EF Core 从 2.2.6 升级到 3.1.3 时出现 .Local.Any() 性能问题 - c# - 并行数据结构
- angular - 将 Angular 调试构建/应用程序添加到 IIS
- django - Django - 视图 accounts.decorators.wrapper_function 没有返回 HttpResponse 对象。它返回 None 而不是
- google-apps-script - 有没有办法通过 Gmail 插件刷新撰写窗口?
- android - 在 Flutter 中跨应用重新启动时保持 Firebase Auth 登录状态
- ldap - 具有 RBAC 功能的 Airflow LDAP 身份验证