实验报告&总结

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作业上,再写题目的过程中还比较顺利,就第二道题目的时候有卡壳,后面有听到室友的讨论,他们帮我解决了问题。这种程度的题目我还比较可以写,再加上有些题目老师上课已经讲过。发现自己很大程度上还是停留在读代码的阶段,自己只能够写比较简单的代码。继续加油吧

原文地址:https://www.cnblogs.com/lxzlyf2022/p/11586961.html