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 ...
随机推荐
- jquery控制图片切换
这种js现在用的很多.同时网上的js代码页很多.我直接从网上当了一个来用:代码如下: html <div class="bannerbox"> ...
- lua table表
lua table表 语法结构 创建一个 table 直接使用 "{}" 即可 table1 = {} -- 赋值 table1["name"] = " ...
- html渲染过程
用户输入url地址,浏览器依据域名寻觅IP地址浏览器向服务器发送http恳求,假如服务器段回来以301之类的重定向,浏览器依据相应头中的location再次发送恳求服务器端承受恳求,处理恳求生成htm ...
- PowerBI 第二篇:数据建模
在分析数据时,不可能总是对单个数据表进行分析,有时需要把多个数据表导入到PowerBI中,通过多个表中的数据及其关系来执行一些复杂的数据分析任务,因此,为准确计算分析的结果,需要在数据建模中,创建数据 ...
- js中的事件委托详解
概述: 那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件.那这是什么意思呢?网上的各位 ...
- cannot locate symbol "atof" referenced by错误分析
ndk从r8升级到r10后, 使用eclipse编译出来的so库报错了,加载库的时候报错cannot locate symbol "atof" referenced by 原因:A ...
- Swiper使用方法
Swiper使用方法 1.首先加载插件,需要用到的文件有swiper.min.js和swiper.min.css文件. <!DOCTYPE html> <html> <h ...
- 今天打补丁出问题了,害得我组长被扣了1k奖金。
今天是第三次给mxdw打补丁和打包,外加公司高管说有一个东西必须要今天之内搞定外放. 我当时问策划为什么这么着急?策划说大佬决定的(这种做事方式真的很不习惯).我等屁民加班加点的搞事情,把功能搞出去了 ...
- windows下配置mysql数据库主从
所用到工具: Mysql.Navicat Premium: 主库设置: 一.设置my.ini 文件: 1.在安装目录下找到my.ini 文件: 默认路径:C:\Program Files\MySQL\ ...
- IOS中常用的UIColor
UIColor + (UIColor *)blackColor; // 0.0 white 黑色 + (UIColor *)darkGrayColor; // 0.333 white 深灰色 + (U ...