Java实验报告

班级计科二班 学号 20188429 姓名 罗璇哲

完成时间

评分等级

实验三 String类的应用

一、 实验目的

(1) 掌握类String类的使用;

(2) 学会使用JDK帮助文档;

二、 实验内容

1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)

① 统计该字符串中字母s出现的次数。

源代码

public class Main1 {
public static void main(String args[]) {
String str="this is a test of java";
int count=0;
for (int i=0;i<str.length();i++) {
if('s'==str.charAt(i))
count++;
}
System.out.println("'s'的个数为"+count);
} }

实验结果

② 统计该字符串中子串“is”出现的次数。

源代码

public class Main1 {
public static void main(String args[]) {
String str="this is a test of java";
int count=0;
char s[];
s=str.toCharArray(); for (int i=0;i<s.length;i++) {
if(s[i]=='i') {
for(int j=i;j<s.length;j++) {
if(s[j]=='s') {
count++;
break;
}
}
}
}
System.out.println("子串is的个数为"+count);
}
}

实验结果

③ 统计该字符串中单词“is”出现的次数。

实验源码

public class Main2 {
public static void main(String args[]) {
String str="this is a test of java"; String n[]=str.split(" ");
int count=0;
for(int i=0;i<6;i++) {
if(n[i].equals("is"))
count++;
}
System.out.println("单词is的个数是"+count);
} }

实验结果

④ 实现该字符串的倒序输出。

源代码

public class Main3 {
public static void main(String args[]) {
StringBuffer s=new StringBuffer();
s.append("this is a test of java");
String str=s.reverse().toString();
System.out.println(str);
}
}

实验结果

第四题有借鉴到后面StringBuffer的常用方法,有使用reverse方法实现倒序。

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。



源代码

    public class Main5{
public static void main(String[] args) {
System.out.println("输入一个字符串");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
char a[]=s.toCharArray();
char b[]=new char [a.length];
int i=0,k=0;
if (a.length==1 ||a.length==2 ) {
System.out.println("请输入三位及以上字符");
}
else {
for(i=a.length-3;i<a.length;i++) {
b[k]=a[i];
k++;
}
for(i=0;i<a.length-3;i++) {
b[k]=a[i];
k++;
}
System.out.println("输出加密的结果"+String.valueOf(b));
} }
}

实验结果

3.已知字符串"ddejidsEFALDFfnef2357 3ed"。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

源代码

     public static void main(String args[]) {
String str="ddejidsEFALDFfnef2357 3ed";
int big=0,small=0,blank=0;
for(int i=0;i<str.length();i++) {
char s=str.charAt(i);
if (s>='A' && s<='Z') {
big++;
}
else if(s>='a' && s<='z') {
small++;
}
else {
blank++;
}
}
System.out.println("大写字母有"+big+"个");
System.out.println("小写字母有"+small+"个");
System.out.println("非字母有"+blank+"个");
}
}

实验结果

学习总结

1.String类的常用方法的使用

2.继承知识点:只允许多层继承不能够多重继承,即一个子类只可以继承一个父类。

3.子类是不可以直接访问父类的私有成员的,但是子类可以调用父类的非私有方法,但是不能够直接调用父类的私有成员。

4.super的使用,与this的调用方法相同,不可同时使用,语句必须放在子类构造方法首行。

5.方法的重载与覆写的区别



6.final关键字,使用final声明的类不能够有子类,声明的方法也不会被子类所覆写,使用final声明的变量为常量,常量不可修改。

总结

首先,这周的题目难度是在我可接受范围内吧,自己本周也有花时间在Java作业上,再写题目的过程中还比较顺利,就第二道题目的时候有卡壳,后面有听到室友的讨论,他们帮我解决了问题。这种程度的题目我还比较可以写,再加上有些题目老师上课已经讲过。发现自己很大程度上还是停留在读代码的阶段,自己只能够写比较简单的代码。继续加油吧

最新文章

  1. MicrosoftWord2013基本用法
  2. IAP
  3. The Swift Programming Language 英文原版官方文档下载
  4. 【Storage】Ubuntu LVM 安装配置
  5. Web应用程序系统的多用户权限控制设计及实现-栏目模块【8】
  6. (原创)vagrant up 异常报错,出现 There was an error while executing `VBoxManage` 的解决方法
  7. linux强大IDE——Geany配置说明
  8. IOS APP配置.plist汇总(转自coolweather )
  9. Android模拟器的文件目录介绍
  10. poj3667(线段树)
  11. executeBatch()相关操作汇总
  12. leetcode 名单 Insertion Sort List
  13. 对Unity3d C#手动处理异常产生
  14. Chapter 2 Open Book——37
  15. Ubuntu新建用户
  16. 在C++中反射调用.NET(二)
  17. WPF 语言格式化文本控件
  18. linux软件安装方式
  19. Selenium分布式自动化测试平台 Standalone Server 4.0 搭建
  20. Openstack安装Dashboard之后,浏览器无法打开页面 500 Internal Server Error

热门文章

  1. 数据可视化----matplotlib.pylot
  2. nodeType介绍及应用示例
  3. python调用tushare获取沪深股通十大成交股
  4. 26-python基础-python3-global语句
  5. springCloud的使用01-----服务的注册和发现
  6. 如何在vue框架中兼容IE
  7. js中三元运算符的两种情况
  8. JMeter 并发压力测试
  9. 【JS学习】慕课网4-1编程挑战 函数
  10. mongodb的学习 (3)