1.编程. 已知字符串:”this is a test of java”.

按要求执行以下操作:

(1) 统计该字符串中字母s出现的次数

(2) 取出子字符串”test”

(3) 将本字符串复制到一个字符数组Char[] str中.

(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。

(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)

(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台

代码:

package day11Homework;

import java.util.Arrays;

public class Test1 {
public static void main(String[] args){
String string="this is a test of java"; // (1) 统计该字符串中字母s出现的次数
//first
char[] c=string.toCharArray();
int count=0;
for (char d : c) {
if(d=='s'){
count++;
}
}
System.out.println("s出现的次数"+count);
//second
String[] strs1=string.split("s");
int count2=0;
count2=strs1.length-1;
System.out.println("s出现的次数"+count2);
//third // (2) 取出子字符串"test"
System.out.println("截取test:"+string.subSequence(string.indexOf("t",1), string.lastIndexOf("t")+1));
// (3) 将本字符串复制到一个字符数组Char[] str中.
char[] c2=string.toCharArray();
// (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
String[] strs2=string.split(" ");
for(int i=0;i<=strs2.length-1;i++){
//方法一:
//strs2[i]=strs2[i].replaceFirst(String.valueOf(strs2[i].charAt(0)),String.valueOf(strs2[i].charAt(0)).toUpperCase());
//方法二:
strs2[i]=Character.toUpperCase(strs2[i].charAt(0))+strs2[i].substring(1);
}
System.out.println(Arrays.toString(strs2));
// (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
StringBuffer stringBuffer=new StringBuffer("this is a test of java");
System.out.println(stringBuffer.reverse());
//for
for(int i=string.length()-1;i>=0;i--){
System.out.print(string.charAt(i));
}
System.out.println();
// (6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
String[] strs3=string.split(" ");
System.out.println(Arrays.toString(strs3));
}
}

运行结果:

2 .如下字符串:

01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21

分割出每个人的信息,样式如下:

*01 张三 20

*02 李四 18

*…..

*创建Student类,属性:学号 姓名 年龄

1将这些Student对象放进数组中

2.查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)

3.计算所有学生的平均年龄,最大年龄,最小年龄

4.如果存在名字叫张三的将名字改为张兵

代码:

学生类


public class Student {
private String xueHao;
private String name;
private int age; public String getXueHao() {
return xueHao;
}
public void setXueHao(String xueHao) {
this.xueHao = xueHao;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} public Student() {} public Student(String xueHao,String name,int age){
this.xueHao=xueHao;
this.name=name;
this.age=age;
}
}

测试类:

import java.util.*;
public class Test3 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String str="01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21";
String[] strs=str.split("[#*]");
System.out.println("1.按要求打印如下:");
for(int i=0;i<strs.length;i+=3){
System.out.print(strs[i]+" "+strs[i+1]+" "+strs[i+2]);
System.out.println();
} //建立学生数组
Student[] arr=new Student[strs.length/3];
int count=0;
for(int i=0;i<arr.length;i++){
arr[i]=new Student(strs[count],strs[count+1],Integer.parseInt(strs[count+2]));
count+=3;
}
System.out.println("2.查询里面有没有叫田七的学生如果存在则打印学生的具体信息:");
System.out.println("请输入学生姓名:");
String name=input.next(); for(int i=0;i<arr.length;i++){
if(name.equals(arr[i].getName())){
System.out.print(arr[i].getXueHao()+" "+arr[i].getName()+" "+arr[i].getAge());
}
}
System.out.println();
//3.计算所有学生的平均年龄,最大年龄,最小年龄
System.out.println("3.计算所有学生的平均年龄,最大年龄,最小年龄:");
int ageSum=0;
int ageMax=arr[0].getAge();
int ageMin=arr[0].getAge();
for(int i=0;i<arr.length;i++){
ageSum+=arr[i].getAge();
ageMax=ageMax>arr[i].getAge()?ageMax:arr[i].getAge();
ageMin=ageMin<arr[i].getAge()?ageMin:arr[i].getAge();
}
System.out.println("所有学生的平均年龄:"+ageSum/arr.length);
System.out.println("所有学生中的最大年龄:"+ageMax);
System.out.println("所有学生中的最小年龄:"+ageMin);
//4.如果存在名字叫张三的将名字改为张兵
System.out.println("4.如果存在名字叫张三的将名字改为张兵:");
for(int i=0;i<arr.length;i++){
String temp="张三";
if(temp.equals(arr[i].getName())){
arr[i].setName("张兵");
System.out.println("arr["+i+"]="+arr[i].getName());
}
} input.close();
}
}

运行结果:

Java常用类之String类练习的更多相关文章

  1. Java的常用类——Object类、String类

    Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口) ...

  2. java学习笔记之String类

    String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...

  3. Java常用的加密解密类(对称加密类)

    Java常用的加密解密类 原文转载至:http://blog.csdn.net/wyc_cs/article/details/8793198 原创 2013年04月12日 14:33:35 1704 ...

  4. Java Object类 和 String类 常见问答 6k字+总结

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  5. java问题解读,String类为什么是final的

    一.理解final 望文生义,final意为“最终的,最后的”,我理解为“不能被改变的”,它可以修饰类.变量和方法. 所以我是否可以理解为被它所修饰的类.变量和方法都不能被改变呢?答案是”是“,因为有 ...

  6. C#中 StringBuilder类 与 String类的区别---(转)

      在找工作的时候,去了些公司,避免不了要面试和笔试.不过一般最起初的是笔试.我印象中有这样有一道题目:StringBuilder类与 String类的区别?那时候我不太清楚这两个类的区别,今天在看代 ...

  7. Hadoop: Text类和String类的比较

    一般认为Text类和String类是等价的,但二者之间其实存在着不小差别: 以<Hadoop权威指南>中的案例为例,给定字符串  String s = "\u0041\u00DF ...

  8. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuff ...

  9. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...

  10. Java基础—常用类之String类

    一.String类是什么 public final class String implements java.io.Serializable, Comparable<String>, Ch ...

随机推荐

  1. sql中常见日期获取

    获取当前年月日 --获取当前月份 ,GETDATE())) --获取当前月份的下个月 ,GETDATE())) --获取当前月份的上个月 year()获取年 select year(GETDATE() ...

  2. Jquery对select下拉框的操作

    一.jQuery获取Select选择的Text和Value:语法解释: $("#select_id").change(function(){//code...});   //为Se ...

  3. 需求收集过程实例之 - GF Phase 1

    正统的需求过程是怎样呢?各位看客有兴趣可以问问google 百度.本人的体会是理论很清晰,现实很混沌.这篇随笔讲述的是我参与的几个项目的需求收集过程.有的很顺利,有的却是乱中求生.但是不管怎样,最终这 ...

  4. JavaScript中screen对象的两个属性

    Screen 对象 Screen 对象包含有关客户端显示屏幕的信息. 这里说一下今天用到的两个属性:availHeigth,availWidth avaiHeigth返回显示屏幕的高度 (除 Wind ...

  5. jquery easyui的datagrid在初始化的时候会请求两次URL?

    我们项目前端用的是jquery easyui,刚开始使用datagrid加载列表初始化时总是请求两次URL,这让人非常不解,怎么总是请求两次呢?数据一多,加载速度明显变慢,通过查资料才知道原来是重复声 ...

  6. JavaScript 复制对象

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...

  7. Jedis连接池使用

    构建redis连接池,返还到连接池 private static JedisPool jedisPool = null; private static Jedis jedis; static { je ...

  8. 最近项目用到Dubbo框架,分享一下~

    1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...

  9. 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动用属性:animation-play-state:paused暂停,在微信和safari里设置paused无效,在QQ里是正常的

    这几天遇到了两个很奇葩的问题,终于找到原因,趁还记得解决方法,赶紧记下来: 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动可以用属性:animat ...

  10. Python 基本数据类型_常用功能整理

    一.字符串 字符串 s ="axle" #去两端空格 s.split() #以什么开头 s.startswith("a") #查找子序列,"12&qu ...