600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Java基础练习(八)字符串常用方法的使用

Java基础练习(八)字符串常用方法的使用

时间:2019-11-08 09:45:54

相关推荐

Java基础练习(八)字符串常用方法的使用

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());}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。