Java常用类之String类练习
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类练习的更多相关文章
- Java的常用类——Object类、String类
Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口) ...
- java学习笔记之String类
String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...
- Java常用的加密解密类(对称加密类)
Java常用的加密解密类 原文转载至:http://blog.csdn.net/wyc_cs/article/details/8793198 原创 2013年04月12日 14:33:35 1704 ...
- Java Object类 和 String类 常见问答 6k字+总结
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- java问题解读,String类为什么是final的
一.理解final 望文生义,final意为“最终的,最后的”,我理解为“不能被改变的”,它可以修饰类.变量和方法. 所以我是否可以理解为被它所修饰的类.变量和方法都不能被改变呢?答案是”是“,因为有 ...
- C#中 StringBuilder类 与 String类的区别---(转)
在找工作的时候,去了些公司,避免不了要面试和笔试.不过一般最起初的是笔试.我印象中有这样有一道题目:StringBuilder类与 String类的区别?那时候我不太清楚这两个类的区别,今天在看代 ...
- Hadoop: Text类和String类的比较
一般认为Text类和String类是等价的,但二者之间其实存在着不小差别: 以<Hadoop权威指南>中的案例为例,给定字符串 String s = "\u0041\u00DF ...
- Java常用类之String类、Stringbuffer和Random类练习
定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuff ...
- Java 基础 常用API (Object类,String类,StringBuffer类)
Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...
- Java基础—常用类之String类
一.String类是什么 public final class String implements java.io.Serializable, Comparable<String>, Ch ...
随机推荐
- Java 原始数据类型
如何记住 Java 中的原始数据类型? 画了一个图方便记忆:
- mybatis新手入门常见问题集(持续更新)
一.参数为集合 Q:parameterType指的的类型是集合类型还是对象? A:都可以,甚至不用在xml中指定也可以.第一,mybatis会对传入的参数进行判断是不是list或者array,第二,m ...
- 【转载】stm32的GPIO八种工作模式
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数 ...
- JS+html--实现图片轮播
大家肯定见过某些网站一个炫酷的页面,就是图片轮播,也就是我们常说的幻灯片播放.对于初学者来说,可能会有点头疼,没关系,小李在这给大家献上自己刚刚写好的关于图片轮播的代码. 以下功能的实现用了jQuer ...
- openMP编程(下篇)之数据私有与任务调度
title: openMP编程(下篇)之数据处理子句与任务调度 tags: ["openMP"] notebook: 分布式程序_Linux --- openMP并行编程中数据的共 ...
- C语言学习第六章
今天开始尝试改变! 今天要学习函数,一个C语言中的重要组成部分. 首先先聊聊为什么要使用函数?随着学习的深入很多人会发现某段的代码重复使用的几率很大,而如果用一次写一次的话很明显的效率就会比较低,如果 ...
- 分分钟带你玩转 Web Services【2】CXF
在实践中一直在使用 JAX-WS 构建 WebService 服务,服务还是非常稳定.高效的. 但还是比较好奇其他的 WebService 开源框架,比如:CXF/Axis2/Spring WS等. ...
- Angularjs快速入门(二)
说说上一节的例子,$scope 我们没有创建这个对象,直接绑定就能获取里面的对象,这种风格遵循了一种叫迪米特法则的设计模式. 然后angular还有一种很强大的功能叫“指令”. 就是你可以吧模板编写成 ...
- 不完全CSS3图解
温故而知新.用XMind总结了下CSS3,打钩的代表比较常用的.希望对大家整体上理解CSS3有所帮助吧.
- windows下nodejs安装及配置
1)在 http://nodejs.org/download/下载一个window的安装包 2)运行安装包,设置安装路径,如安装到D:\nodejs,安装后会自动将d:\nodejs添加到系统变量pa ...