实验三 String类的应用
实验目的
掌握类String类的使用;
学会使用JDK帮助文档;
实验内容
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
统计该字符串中字母s出现的次数。
统计该字符串中子串“is”出现的次数。
统计该字符串中单词“is”出现的次数。
实现该字符串的倒序输出。
实验源码
public class Demo7 {
public static void main(String[] args) {
int count=0;
int count1=0;
int count2=0;
String str1="this is a test of java";
String c[]=str1.split(" ");
for(int i=0;i<str1.length();i++){
char a=str1.charAt(i);
if(a=='s'){
count++; //s出现的次数
}
if(str1.charAt(i)=='i'&&str1.charAt(i+1)=='s'){
count1++; //子串“is”出现的次数
}
}
for(int x=0;x<c.length;x++){
if(c[x].equals("is"))
count2++; //单词“is”出现次数
}
System.out.println("该字符串中字母s出现的次数"+count);
System.out.println("统计该字符串中子串“is”出现的次数"+count1);
System.out.println("统计该字符串中单词“is”出现的次数"+count2);
StringBuffer str = new StringBuffer("this is a test of java");
System.out.println(str.reverse());
}
}
实验结果
实验过程
之前使用了非常无脑的方法来统计单词is的出现,后来发现只能判断前面,后面如果是is+其他字符就判断不出来了
if(str1.charAt(i)==' '&&str1.charAt(i+1)=='i'){
count2++; //字串“is”出现的次数
}
这就是最原始的错误,写代码要考虑很多情况呀,欠缺考虑
倒序问题参考:
https://blog.csdn.net/java001122/article/details/80363290
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
实验源码
import java.util.Scanner;
public class demo8 {
public static void main(String[] args){
System.out.print("字符串:"); //输入字符串
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char c[]=str.toCharArray(); //将字符串变为字符数组
String s = "";
for (int i = 0; i < c.length; i++) {
s += (char)((int)c[i]+3); //后移三位,并且转化为字符进行加密
}
System.out.println(s);
}
}
实验结果
3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
实验源码
public class Demo9 {
public static void main(String[] args) {
String str1 = "ddejidsEFALDFfnef2357 3ed";
String c[] = str1.split(" ");
int capital = 0;
int lowercase=0;
int count = 0;
for(int i=0;i<str1.length();i++) {
char a = str1.charAt(i);
if(a>='A'&&a<='Z'){
capital++;
}
else if(a>='a'&&a<='z'){
lowercase++;
}
else{
count++;
}
}
System.out.println("大写英文字母数:"+capital);
System.out.println("小写英文字母数:"+lowercase);
System.out.println("非英文字母数:"+count);
}
}
实验结果
实验过程
大概就是根据ASCII码来写,在编写过程中我竟然把else-if给忘了,一直在想count要怎么计算,太菜了
本周总结
1.String类常用操作方法终于会用了,感觉Java上手了
2.看视频的进度太慢了,要加油赶在老师前面