求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。函数为 int same(int num)其中num是输入的整型数字
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test { public static void main(String[] args) { /** * 2.求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123, * 相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。 * 方法是先将整型数字转换到数组中,再判断。 * 函数为 int same(int num)其中num是输入的整型数字 */ Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = sc.nextInt(); int same = same(num); System.out.println("是否有相同部分的结果为:"+same); } public static int same(int num){ String str = num+"" ; List<Character> list = new ArrayList<Character>(); for (int i = 0; i < str.length(); i++) { list.add(str.charAt(i)); } for (int i = 0; i < list.size()-1; i++) { char num1 = list.get(i); char num2 = list.get(i+1); String str2 = ""+num1+num2; if(str.length()>2){ str=str.substring(i+1,str.length()); } if(str.contains(str2)){ return 1; } } return 0; } }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!