每日练习
/** * 需求:模拟登陆,给3次机会,并给提示还有几次 * 用户名和密码都是 admin * * * * @author flzen * */ public class Demo { public static void main(String[] args) { //提示用户输入账号和密码 Scanner sc= new Scanner(System.in); //判断 for(int x=3;x>0;){ System.out.println("请输入账号:"); String userName =sc.nextLine(); System.out.println("请输入密码:"); String passWord = sc.nextLine(); if(userName.equals("admin") && passWord.equals("admin")){ System.out.println("登陆成功,欢迎您 我的主人"); break; }else{ System.out.println("你输入的账号或密码错误,你还有"+(--x)+"次机会"); } } } }
/** * 遍历字符串 * * @author flzen * */ public class Demo2 { public static void main(String[] args) { String s = "fighting"; for(int i =0; i<s.length();i++){ System.out.println(s.charAt(i));//通过索引获取每个字符 } } }
/* A:案例演示 * 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。 * ABCDEabcd123456!@#$%^ * 分析:字符串是有字符组成的,而字符的值都是有范围的,通过范围来判断是否包含该字符 * 如果包含就让计数器变量自增 */ public class Demo3 { public static void main(String[] args) { //提示用户输入一串字符串 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串"); String s = sc.nextLine(); // int upper =0; int low =0; int num =0; int other =0; //遍历字符串 得到每个字符 for(int x=0; x<s.length();x++){ if('a'<=s.charAt(x) && s.charAt(x)<='z'){ low++; }else if('A'<=s.charAt(x) && s.charAt(x)<='Z'){ upper++; }else if('0'<=s.charAt(x) && s.charAt(x)<='9'){ num++; }else{ other++; } } System.out.println("大写字母"+upper+"个"); System.out.println("小写字母"+low+"个"); System.out.println("数字"+num+"个"); System.out.println("其他字符"+other+"个"); } }
/** * * A:案例演示 * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符) * 链式编程:只要保证每次调用完方法返回的是对象,就可以继续调用 */ public class Demo4 { public static void main(String[] args) { String s ="helloword"; String s1 =s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase()); System.out.println(s1); } }
* A:案例演示 * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符) * 链式编程:只要保证每次调用完方法返回的是对象,就可以继续调用 * 把-654321 转换成 -123456 输出 */ public class Demo4 { public static void main(String[] args) { String s ="helloword"; String s1 =s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase()); System.out.println(s1); String s2= "-654321"; String s3 =s2.substring(0,1);//截取符号 String s4 =s2.substring(1);//截取剩下的字符串 char[] arr = s4.toCharArray(); String s5 =""; for(int x=arr.length-1;x>0;x--){ s5= s5+arr[x]; } System.out.println(s3.concat(s5)); } }
package String; //这是我无意间看到的一道面试题。把-123456 转换成 -654321 输出 public class Demo6 { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); sb.append("-123456");//添加元素 String s1= sb.substring(0, 1);//截取负号 String s2 =sb.substring(1);//截取负号后面的内容 StringBuffer sb1 = new StringBuffer(s2); //将字符串转换为字符容器 String s3 = s1+(sb1.reverse());//利用字符容器的反转功能 并拼接字符串 System.out.println(s3); } }
/** * * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: int[] arr = {1,2,3}; 输出结果: "[1, 2, 3]" 用StringBuffer的功能实现 */ public class Demo8 { public static void main(String[] args) { int[] arr ={1,2,3}; System.out.println(arrayToString(arr)); } public static String arrayToString(int[] arr){ //创建字符串缓冲区 StringBuffer sb = new StringBuffer(); sb.append("["); //遍历数组 for(int x =0;x<arr.length;x++){ if(x==arr.length-1){ sb.append(arr[x]).append("]"); }else{ sb.append(arr[x]).append(","); } } return sb.toString(); } }
import java.util.Scanner; //反转 public class Demo9 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你要的字符串:"); String s = sc.nextLine(); System.out.println(rev(s)); } public static String rev(String s){ StringBuffer sb = new StringBuffer(s); sb.reverse(); return sb.toString(); } }