1.编程. 已知字符串:"this is a test of java".
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串"test"
(3) 将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
package demo1;
import java.util.Locale;
public class Test1 {
public static void main(String[] args) {
String string = "this is a test of java";
// (1) 统计该字符串中字母s出现的次数
int number =string.split("[s]").length>0? string.split("[s]").length-1:0;
System.out.println(number);
//取出子字符串"test"
System.out.println(string.substring(string.indexOf("test"), string.indexOf("test")+4));
// (3) 将本字符串复制到一个字符数组Char[] str中.
char[] str = string.toCharArray();
//(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
String[] str3 = string.split(" ");
for(int i = 0;i<str3.length;i++)
{
if(!Character.isUpperCase(str3[i].charAt(0)))
{
str3[i] = new StringBuilder().append(Character.toUpperCase(str3[i].charAt(0))).append(str3[i].substring(1)).toString();
}
System.out.print(str3[i]+" ");
}
System.out.println();
//(5) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
String[] str2 = string.split(" ");
for(int i = 0;i<str2.length;i++)
{
System.out.println(str2[i]);
}
}
}
2.字符串解析,现有一字符串,“卡巴斯基#杀毒软件#免费版#俄罗斯#”,解析出每个元素。
package demo1;
public class Test2 {
public static void main(String[] args) {
String string = "卡巴斯基#杀毒软件#免费版#俄罗斯#";
String[] str = string.split("[#]");
for (String string2 : str) {
System.out.println(string2);
}
}
}
4 .如下字符串:01#张三#2002#李四#1803#王五#2204#赵六#2005#田七#21分割出每个人的信息,样式如下:
01 张三 20
02 李四 18
。。。。
创建Student类,属性:学号 姓名 年龄
1将这些Student对象放进数组中
2.查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)
3.计算所有学生的平均年龄,最大年龄,最小年龄
4.如果存在名字叫张三的将名字改为张兵
package demo1;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
String str = "01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21";
String[] str2 = str.split("[*]");
//01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21分割出每个人的信息
student[] stu = new student[str2.length];
//1将这些Student对象放进数组中
int i;
for(i = 0;i<str2.length;i++)
{
stu[i] =new student();
String[] str3 = str2[i].split("[#]");
stu[i].setTheClass(str3[0]);
stu[i].setName(str3[1]);
stu[i].setAge(Integer.parseInt(str3[2]));
}
//2.查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)
Scanner input = new Scanner(System.in);
System.out.println("请输入您要查询的学生姓名");
String name = input.next();
PersonSearch(stu, name);
//3.计算所有学生的平均年龄,最大年龄,最小年龄
PersonSearch(stu);
for(i = 0;i<stu.length;i++)
{
if(stu[i].getName().equals("张三"))
{
stu[i].setName("张兵");
System.out.println(stu[i].getName());
break;
}
}
}
//查询函数
public static void PersonSearch(student[] stu,String str)
{
boolean falg = true;
for(int i = 0;i<stu.length;i++)
{
if(stu[i].getName().equals(str))
{
falg = false;
System.out.println("班级:"+stu[i].getTheClass()+" 姓名:"+stu[i].getName()+" 年龄:"+stu[i].getAge());
}
}
if(falg)
{
System.out.println("该学生不存在");
}
}
public static void PersonSearch(student[] stu)
{
int minAge = stu[0].getAge();
int maxAge = stu[0].getAge();
int sumAge = stu[0].getAge();
for(int i = 1;i<stu.length;i++)
{
if(minAge>stu[i].getAge())
{
minAge = stu[i].getAge();
}
else
if(maxAge<stu[i].getAge())
{
maxAge = stu[i].getAge();
}
sumAge+=stu[i].getAge();
}
System.out.println("最大年龄为:"+maxAge+" 最小年龄为:"+minAge+" 平均年龄为"+(sumAge)/stu.length);
}
}
class student{
private String TheClass;
private int age;
private String name;
public student() {
}
public student(String theClass, int age, String name) {
super();
TheClass = theClass;
this.age = age;
this.name = name;
}
public String getTheClass() {
return TheClass;
}
public void setTheClass(String theClass) {
TheClass = theClass;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "student [TheClass=" + TheClass + ", age=" + age + ", name=" + name + "]";
}
}