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. 在eclipse中使用Maven建web工程项目

    在eclipse中使用Maven建web工程项目: 第一种方式: 右键新建maven工程,勾选创建一个简单工程 填入信息,注意打包方式要改为war 点击完成,创建完的工程目录如下: 项目中没有WEB- ...

  2. JS中substring与substr的区别

    Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...

  3. 移动端测试方案--sptt

    sptt sptt是移动端UI自动化测试的一种解决方案,全称为special tool of test.sptt提供了一套测试解决方案,并使用命令行完成相关操作,最终可集成在各种后续的流程中. spt ...

  4. 使用Entity Framework时遇到的问题

    1.运行程序时提示 ,vension does not match. 差不多是这样一个提示,具体怎么样的给忘记了. #1remove 'entity framework' from reference ...

  5. MySQL执行sql查询并上传至远程服务器

    最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容. MySQL中将结果 ...

  6. 通过 U 盘启动重装 macOS 系统

    重装系统是工作和生活中经常需要做的事情,作为一名开发人员,学会该技能你才是一名合格的程序猿!以后再也不会遇到"程旭元你会装系统吗?"的尴尬了!本文主要介绍怎样通过U盘启动重新安装 ...

  7. [angularjs] MVC + Web API + AngularJs 搭建简单的 CURD 框架

    MVC + Web API + AngularJs 搭建简单的 CURD 框架 GitHub 地址:https://github.com/liqingwen2015/Wen.MvcSinglePage ...

  8. 走进javascript——类型

    ECMAScript语言类型对应于使用ECMAScript语言的ECMAScript程序员直接操作的值.ECMAScript语言类型有以下几种Undefined,Null,Boolean,String ...

  9. Hashtable、ConcurrentHashMap源码分析

    Hashtable.ConcurrentHashMap源码分析 为什么把这两个数据结构对比分析呢,相信大家都明白.首先二者都是线程安全的,但是二者保证线程安全的方式却是不同的.废话不多说了,从源码的角 ...

  10. Python 与 C/C++ 交互的几种方式

    python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C/C++代码量会少得多.但是优点也必然也伴随着缺点(这是肯定的, ...