package tongji.edu.main; import java.util.Scanner; public class MainHuiwen { public static void main(String[] args) { @SuppressWarnings("resource") int n = new Scanner(System.in).nextInt(); //获取输入数字 int hui = huiWen(n); System.out.println(hui); } /* 七次操作后判断是否是回文 */ private static int huiWen(int n) { for (int i = 0; i < 7; i++) n = n + reverseNum(n); if (n == reverseNum(n)) return n; else return 0; } /* 对数字进行反转 */ private static int reverseNum(int n) { return Integer.valueOf(new StringBuffer(String.valueOf(n)).reverse().toString()).intValue(); } }
找出大串中指定子串个数,并删除,返回最终的字符串和所包含子串的数量
package study.edu.main; public class MainDeleteSubString{ public static void main(String[] args) { String str = "123abc12de234fg1hi34j123k"; String subStr = "1"; String[] strArray = str.split(subStr); String StrDelsub=""; int count=0; for(String temp:strArray){ StrDelsub+=temp; if(!temp.equals("")) //split分割字符串,如果分隔符在首部,分割后的字符串会出现一个空字符串 count++; } System.out.println("The number of sub str is :" + count); System.out.println("The result string is: " + StrDelsub); } }
找出字符串中指定子串个数的另一种方法:
package study.edu.main; public class MainSubString { public static void main(String[] args) { String str = "123abc12de234fg1hi34j123k"; String subStr = "12"; int n = deleteSub(str, subStr); System.out.println("The number of sub str is :" + n); } /* 利用String的indexOf()函数来判断长串中指定字串个数 */ private static int deleteSub(String str, String subStr) { int count = 0; String lstr = str.toString(); int i = lstr.indexOf(subStr); int now = 0; while (i != -1 && i < str.length()) { now = lstr.indexOf(subStr, i); if (now != -1) { count++; i = now + subStr.length(); } else { i = now; } } return count; } }
有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。
输入: 输入人数字符串
输出:把最后一个人所保留位置返回出来。
比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7.
如果输入"1a" 的话,返回的是"0"
package study.edu.main; import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class MainLink { public static void main(String[] args) { @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); int n = 0; try { n = scanner.nextInt(); if(n<1) throw new Exception("wrong input"); List<Integer> peopleLink = new LinkedList<Integer>(); for (int i = 1; i <= n; i++) { peopleLink.add(i); } int count = 0; while (peopleLink.size() > 1) { for (int i = 0; i < peopleLink.size(); i++) { count++; if (count == 3) { peopleLink.remove(i); // 出圈 count = 0; i--; // 索引回退1步 } } } System.out.println(peopleLink.get(0)); } catch (Exception e) { System.out.println(0); return; } } }