第五周总结&实验

实验三 String类的应用

一、实验目的

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

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

二、实验内容

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

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

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

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

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

解题思路

实验源码

public class demo2 {
public static void main(String[] args)
{
String str ="this is a test of java";


int sSum=sum("s",str);
int isSum=sum("is",str);
int _is_Sum=sum(" is ",str);

StringBuffer a=new StringBuffer("this is a test of java");
a=a.reverse();
System.out.println(sSum);
System.out.println(isSum);
System.out.println(_is_Sum);
System.out.println(str);
}

static int sum(String str,String Sent)
{
int Sum=0,number=0,i=0;
while(number!=-1)
{ number=Sent.indexOf(str,i);

if(number==-1) {
return Sum;}
else{
Sum++;
i=number+1;
}
}
return Sum;
}

}

 写到这里是没有写一个漏写了一个倒抒语句Stringbuffer,后来问了下伙伴,她告诉我了另一种方法,然后就有了下面,相较于下面的倒序输出语句,其实还有一种比较简单的语句,但在这里我没有写出来因为我不会,但我看到有人用了。

 这个题其实只有两部分很简单,而且要想写出来,方法也单一就是书上111页的那几个方法。但是也有几种巧妙地方法,我在参考的时候没有看懂,比我的方法精简。

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

 

实验源码

 没有跑出结果,做的时间比较晚仓促,没有仔细想其细节问题。答案错误

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

public class demo2{

public static void main(String[] args) {
String str="ddejidsEFALDFfnef2357 3ed";
char a[] = str.toCharArray();
int countother=0;
for (int i = 0; i < str.length(); i++) {
if (a[i] >= 'A' && a[i] <= 'Z') {
System.out.print(str.charAt(i));
}


else if (a[i] >= 'a' && a[i] <= 'z') {
System.out.print(str.charAt(i));

System.out.println();}

else {
countother++;}
}

 System.out.println("其他:"+countother);
}
}

 这个在输出的时候只写了一个输出其他的字符个数的语句,其实应该在开始的时候用同一种方法输出三种字的个数。

学习总结:

本周主要学习的内容有1,继承 2,方法的覆写与重载   3,抽象类4,super关键字

this与super的区别 
序号 区别点 this super
1 属性访问 访问本类中的属性,如果本类中没有此属性则从父类中继续查找 访问父类中的属性
2 方法 访问本类中的方法,如果本类中没有此方法,则从父类中继续查找 直接访问父类中的方法
3 调用构造 调用本类构造,必须放在构造方法的首行 调用父类构造,必须放在子类构造方法的首行
4 特殊 表示当前对象(可指向子类) 无此概念(不可指向父类)

序号

区别点

重载

覆写

1

单词

Overloading

Overriding

 

2

 

 

定义

 

 

方法名称相同,参数类型或个数不同

方法名称,参数类型,返回值全部相同

3

对权限无要求

被覆写的方法不能拥有更严格的权限

4

范围

发生在一个类中

发生在继承类中

还有在作业中总是用到111页的一些方法,

关于老师上课讲到的一个猫狗问题,我没有听的太懂,就只是想起上课做过的这个习题。

阅读以下程序,写出输出结果。

class  Animal {

  Animal() {

    System.out.print ("Animal  ");  }

}

public  

class  Dog  extends  Animal {

 Dog() {

    System.out.print ("Dog ");  }

  public static void main(String[] args) {

    Dog  snoppy= new  Dog();  }

}

 
A.Animal   Dog       B.Dog   Dog     C.Animal  Animal      D.Dog  Animal
原文地址:https://www.cnblogs.com/JCclub/p/11600609.html