1、现在有字符串:String s1=" SSSCCsdfgsdAX@$#67 ";
String s2=“sssdCCsdfGSDAX@$#67”;
完成以下操作:【默认的是对 s1操作】
(1):保存在字符数组中;
(2):取得第三个元素值;
(3):打印输出该字符串的每个字符;
(4):截取"sd"该子串;
(5):返回"67"的下标位置
(6):返回"gsd"的最后一个下标位置
(7):判断两个字符串是否相等【两种方法操作】
(8):将两个字符串进行连接为一个字符串,s2在前面,s1在后面
(9):去掉s1前后空格
(10):将s1只要是大写字符全部转为小写
(11):判断最后面的字串是不是“67”
(12):判断s2最前面的字串是不是“sss”
public class Test01 {public static void main(String[] args) {//对String字符串进行操作,原有的字符串没有改变,而是创建了一个新的对象进行操作String s1=" SSSCCsdfgsdAX@$#67 ";String s2="sssdCCsdfGSDAX@$#67";// 转为字符数组char[] chars = s1.toCharArray();//获取下标为2的字符System.out.println(s1.charAt(2));//打印字符串中的每一个字符for(char c:chars){System.out.print(c+",");}System.out.println();//截取sdSystem.out.println(s1.substring(6,8));//返回67元素下标System.out.println(s1.indexOf("67"));//返回gsd的最后一个下标位置System.out.println(s1.indexOf("gsd")+2);//判断两个字符串是否相等System.out.println(s1.equals(s2));//输出true相等System.out.println(pareTo(s2));//输出0相等//拼接字符串System.out.println(s2+s1);System.out.println(s2.concat(s1));//去掉前后空格System.out.println(s1.trim());//转为小写System.out.println(s1.toUpperCase());//判断最后的字符串是否为67System.out.println(s1.endsWith("67"));//判断s2前面的字符串是否为sssSystem.out.println(s2.startsWith("sss"));}}
2、字符串解析,现有一字符串,“卡巴斯基#杀毒软件#免费版#俄罗斯#”,解析出每个元素。
public class Test {public static void main(String[] args) {String s="卡巴斯基#杀毒软件#免费版#俄罗斯#";String[] split = s.split("#");//分割为一个字符串数组for (String s1:split){System.out.println(s1);}}}
3、“那车水马龙的人世间,那样地来 那样地去,太匆忙”,第二次出现"那"的位置。
public class Test01 {public static void main(String[] args) {String s="那车水马龙的人世间,那样地来 那样地去,太匆忙";System.out.println(s.indexOf("那", s.indexOf("那"))+1);}}
4、有一身份证号,判断此为男还是女,基于此方法,写一个算法,判断一个身份证号为男还是女。
import java.util.Scanner;public class Test {public static void main(String[] args) {System.out.println("身份证号");Scanner scanner = new Scanner(System.in);String next = scanner.next();System.out.println(next.charAt(16));if(next.charAt(17)%2!=0){System.out.println("女生");}else {System.out.println("男生");}}}
5、如下字符串,01#张三#20-02#李四#30-03#王五#40。。。。。。,解析每个人分数多少。样式如下:
01 张三 20
02 李四 30
03 王五 40。并且计算总分。
public class T {public static void main(String[] args) {String s="01#张三#20-02#李四#30-03#王五#40";//使用空格替换#String replace = s.replace("#", " ");//以-作为分隔符,将分隔开的字符串作为元素存储在字符串数组中String[] split = replace.split("-");//总分int sum=0;//遍历字符串数组for (String s1:split){System.out.println(s1);//输出元素String[] split1 = s1.split(" ");//将这个元素中的空格作为分隔符int a=Integer.parseInt(split1[2]);//确定字符数组中的第三个为分数,将字符串转为int类型sum+=a;//总分相加}System.out.println(sum);}}
6、输入一个字符串,将字符串中的所有敏感词替换成**。
敏感词列表:色情,马勒戈壁,暴力,操,日。
public class Test06 {public static void main(String[] args) {String s="看起来色情的东西,不一定如我们表面所看到的那样,充满暴力," +"想象我们在一望无际的马勒戈壁上操练,就算是太阳高挂的日子也不能例外,那么这种东西也不过是一种调味剂罢了。";String[] mgc={"色情","马勒戈壁","暴力","操","日"};for (String s1:mgc){String replace = s.replace(s1, "**");s=replace;//将新创建的字符串的地址指向s,在修改后的字符串上进行操作}}}
7、输入一个字符串,判断有多少个字母?多少个数字字符?多少个汉字字符?
import java.util.Scanner;public class Test07 {public static void main(String[] args) {System.out.println("请输入一串字符:");Scanner scanner = new Scanner(System.in);String s=scanner.next();//阻塞char[] chars = s.toCharArray();int english=0;int num=0;int china=0;for (char c:chars){if(c<='z'&&c>='a'||c<='Z'&&c>='A'){english++;}if(c<='9'&&c>='0'){num++;}//unicode中汉字对应编码if(c>0x4300&&c<0x9fbb){china++;}}System.out.println("英文字母"+english+",数字"+num+",汉字"+china);}}
8、歌词:
朋友啊朋友,你可曾想起了我?
如果你正享受幸福,请你忘记我。
朋友啊朋友,你可曾记起了我?
如果你正承受不幸,请你告诉我。
朋友啊朋友。。。
请问“朋友”出现了多少次。
public class Lx08 {public static void main(String[] args) {String s= "朋友啊朋友,你可曾想起了我?\n" +"如果你正享受幸福,请你忘记我。\n" +"朋友啊朋友,你可曾记起了我?\n" +"如果你正承受不幸,请你告诉我。\n" +"朋友啊朋友。。。\n" ;String[] split = s.split("朋友");System.out.println(split.length-1);}}
9、将字符串“我爱中华人民共和国”,变成一个倒叙的字符串。
public class lx09 {public static void main(String[] args) {String s="我爱我的祖国和人民";char[] chars = s.toCharArray();for (int i =chars.length-1; i >=0 ; i--) {System.out.print(chars[i]);}}}
10、学生类:学号,姓名,成绩。
重写equals方法:如果学号相同,返回true。
重写toString方法:返回学生的信息,格式“学号-1001;姓名-张三;成绩-90”。
Student类:
import java.math.BigDecimal;import java.util.Objects;public class Student {public Student() {}public Student(BigDecimal studentId, String name, double score) {this.studentId = studentId;this.name = name;this.score = score;}private BigDecimal studentId;private String name;private double score;public BigDecimal getStudentId() {return studentId;}public void setStudentId(BigDecimal studentId) {this.studentId = studentId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}@Overridepublic boolean equals(Object o) {//通过判断调用该方法的对象和传递进来的对象地址是否相同if (this == o) return true;//判断该对象引用是否为空,判断调用该方法的对象所属类是否与传入对象所属类相等if (o == null || getClass() != o.getClass()) return false;//传入对象为object类型,向下转型为Student类型Student student = (Student) o;//判断属性值是否相等//学号属性的数据类型为BigDecimal,调用BigDecimal类中的equals方法比较return studentId.equals(student.getStudentId()) ;}@Overridepublic String toString() {return "Student{" +"学号=" + studentId +", 姓名='" + name + '\'' +", 成绩=" + score +'}';}}
测试:
public class test {public static void main(String[] args) {BigDecimal bigDecimal = new BigDecimal("123456");BigDecimal bigDecimal1 = new BigDecimal("123456");Student student = new Student(bigDecimal, "张三", 90);Student student1 = new Student(bigDecimal1, "李四", 80);System.out.println(student.equals(student1));System.out.println(student.toString());System.out.println(student1.toString());}}