习题集(1)-Java常用类库
作者:互联网
1 public class Demo01 { 2 /** 3 * 1.编写一个方法,将一段文本中的各个单词的字母顺序翻转, 4 * 例如:"I like writing code best",将变成"I ekil gnitirw edoc tseb"。 5 * @param args 6 */ 7 public static void main(String[] args) { 8 String str = "I like writing code best"; 9 method(str); 10 } 11 12 public static void method(String str){ 13 //将字符串按照空格切开 14 String[] ss = str.split(" "); 15 for(String sss : ss) { 16 //创建StringBuilder对象,将string类型转换为StringBuilder类 17 StringBuilder sb = new StringBuilder(sss); 18 //调用reverse()方法 19 StringBuilder reverse = sb.reverse(); 20 System.out.print(reverse + " "); 21 } 22 } 23 }
1 public class Demo02 { 2 /** 3 * 2. String s="name=王五 age=18 classNum=1101”; 4 * 将上面的字符串中包含的信息存放到 Student(里面有 name,age, 5 * classNum 三个属性)的对象中 6 * @param args 7 */ 8 public static void main(String[] args) { 9 String s = "name=王五 age=18 classNum=1101"; 10 method(s); 11 12 } 13 public static void method(String str){ 14 //创建学生对象 15 Student student = new Student(); 16 //将字符串按照空格分开 17 String[] ss = str.split(" "); 18 //遍历字符串数组,将每个元素按照=分割 19 for(String s:ss){ 20 String[] split = s.split("="); 21 if(split[0].equals("name")){ 22 student.setName(split[1]); 23 }else if(split[0].equals("age")){ 24 student.setAge(Integer.valueOf(split[1])); 25 }else if(split[0].equals("classNum")){ 26 student.setClassNum(Integer.valueOf(split[1])); 27 } 28 } 29 System.out.println("学生的信息为:"+student); 30 } 31 } 32 class Student{ 33 private String name; 34 private Integer age; 35 private Integer classNum; 36 37 public String getName() { 38 return name; 39 } 40 41 public void setName(String name) { 42 this.name = name; 43 } 44 45 public Integer getAge() { 46 return age; 47 } 48 49 public void setAge(Integer age) { 50 this.age = age; 51 } 52 53 public Integer getClassNum() { 54 return classNum; 55 } 56 57 public void setClassNum(Integer classNum) { 58 this.classNum = classNum; 59 } 60 61 @Override 62 public String toString() { 63 return "Person{" + 64 "name='" + name + '\'' + 65 ", age=" + age + 66 ", classNum=" + classNum + 67 '}'; 68 } 69 }
public class Demo03 {
/**
* 3. 字符串压缩:利用字符重复出现的次数,编写一种方法,实现基本的字符
* 串压缩功能。比如,字符串“aabccdd”会变成“a2b1c2d2”。若“压缩”以后的字
* 符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文
* 字母(a-z)
* 示例 1:输入:aabcccccddddd
* 输出:a2b1c5d5
* 示例 2:输入:“abcdd” 输出:“abcdd” 解释:因为压缩后的字符串为:”a1b1c1d2”,长度大于原字符串
*
* @param args
*/
1 public static void main(String[] args) { 2 Scanner input = new Scanner(System.in); 3 System.out.println("请输入字符串"); 4 String s = input.nextLine(); 5 System.out.println(method(s)); 6 } 7 8 public static String method(String str) { 9 if (str.length() == 0) { 10 return str; 11 } 12 //创建StringBuilder类 13 StringBuilder sb = new StringBuilder(); 14 int js = 1; 15 char ch = str.charAt(0); 16 //遍历字符串 17 for (int i = 0; i < str.length(); i++) { 18 if (ch == str.charAt(i)) { 19 js++; 20 } else { 21 sb.append(ch); 22 sb.append(js); 23 ch = str.charAt(i); 24 js = 1; 25 } 26 } 27 sb.append(ch); 28 sb.append(js); 29 return str.length() > sb.length() ? sb.toString() : str; 30 } 31 }
1 public class Demo04 { 2 /** 3 * 4.写一个和 trim 功能相同的方法 4 * 思路: 5 * 1.定义两个变量,用来存储两个角标 6 * 2.分别从头和尾遍历字符串,直到找到第一个不为空格的字符 7 * 3.截取字符串 8 * @param args 9 */ 10 public static void main(String[] args) { 11 String str = " aaabbbccc "; 12 String ss = method(str); 13 System.out.println("结果为:"+ss); 14 15 } 16 17 public static String method(String str){ 18 int begin = 0; 19 int end = str.length()-1; 20 //从头遍历字符串 21 for(int i =0;i<str.length();i++){ 22 if(str.charAt(i)!=' '){ 23 begin = i; 24 break; 25 } 26 } 27 //从尾巴遍历 28 for(int i =str.length()-1;i>=0;i--){ 29 if(str.charAt(i)!=' '){ 30 end = i; 31 break; 32 } 33 } 34 //调用方法截取字符串 35 return str.substring(begin,end+1); 36 } 37 }
标签:类库,Java,String,习题集,classNum,str,字符串,public,name 来源: https://www.cnblogs.com/baiyangshu/p/14862637.html