数字转罗马数字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str; while (true) { System.out.println("请输入数字:"); str = sc.next(); boolean flag = checkStr(str); if (flag) { break; } else { System.out.println("不符合规则"); } } StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char strs = str.charAt(i); int num = strs - '0'; sb.append(getArr(num)); } System.out.println(sb); }
public static boolean checkStr(String str) { if (str.length() > 9) { return false; } for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c < '0' || c > '9') { return false; } } return true; }
public static String getArr(int num) { String[] arr = {"", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ ", "Ⅸ"}; return arr[num]; }
|
字符串旋转
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| public static void main(String[] args) { String str1 = "ABNNCS"; String str2 = "NNCSAB"; boolean result=check(str1,str2); System.out.println(result);
} public static boolean check(String str1,String str2){ for (int i = 0; i < str1.length(); i++) { str1=arr(str1); if(str1.equals(str2)){ return true; } } return false; }
public static String arr(String str) { String first = str.substring(0, 1); return str.substring(1) + first;
}
|
键盘输入任意字符串,打乱里面的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串"); String str = sc.next(); char[] arr = str.toCharArray(); Random r = new Random(); for (int i = 0; i < arr.length; i++) { int index = r.nextInt(arr.length); char temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } String newStr = new String(arr); System.out.println(newStr); } }
|
#生成验证码
内容:可以是小写字母,也可以是大写字母,还可以是数字
规则:长度为5 ,内容中是四位字母,1位数字。其中数字只有1位,但是可以出现在任意的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| public class Test { public static void main(String[] args) { char[] chs = new char[52]; for (int i = 0; i < chs.length; i++) { if(i <= 25){ chs[i] = (char)(97 + i); }else{ chs[i] = (char)(65 + i - 26); } } String code = ""; Random r = new Random(); for (int i = 0; i < 4; i++) { int randomIndex = r.nextInt(chs.length); code = code + chs[randomIndex]; } int number = r.nextInt(10); code = code + number; char[] arr = code.toCharArray(); for (int i = 0; i < arr.length; i++) { int index = r.nextInt(arr.length); char temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } String result = new String(arr); System.out.println(result); } }
|
#请编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。比如:Hello12345World中字母:10个,数字:5个。
1、键盘录入一个字符串,用 Scanner 实现 2、要统计两种类型的字符个数,需定义两个统计变量,初始值都为0 3、遍历字符串,得到每一个字符 4、判断该字符属于哪种类型,然后对应类型的统计变量+1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); line = line.toLowerCase(); int letterCount = 0; int numberCount = 0; for(int i=0; i<line.length(); i++) { char ch = line.charAt(i); if (ch >= 'a' && ch <= 'z') { letterCount++; } else if (ch >= '0' && ch <= '9') { numberCount++; } } System.out.println("英文字母:" + letterCount + "个"); System.out.println("数字:" + numberCount + "个"); } }
|
请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。例如:“abcba”、”上海自来水来自海上”均为对称字符串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class Test { public static void main(String[] args) { String str = "上海自来水来自海上"; System.out.println(isSym(str)); }
public static boolean isSym(String str) { if (str == null) { return false; } StringBuilder sb = new StringBuilder(str); String reStr = sb.reverse().toString(); return reStr.equals(str); } }
|
我国的居民身份证号码,由由十七位数字本体码和一位数字校验码组成。请定义方法判断用户输入的身份证号码是否合法,并在主方法中调用方法测试结果。规则为:号码为18位,不能以数字0开头,前17位只可以是数字,最后一位可以是数字或者大写字母X。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入身份证号:"); String id = sc.nextLine(); System.out.println(check(id)); } public static boolean check(String id) { if (id == null) { return false; } if (id.startsWith("0")) { return false; } if (id.length() != 18) { return false; } for (int i = 0; i < id.length(); i++) { char ch = id.charAt(i); if (i == id.length() - 1) { if (ch < '0' || ch > '9' && ch != 'X') { return false; } } else { if (ch < '0' || ch > '9') { return false; } } } return true; } }
|