zoukankan      html  css  js  c++  java
  • 第五周总结&第三次实验报告

    实验三 String类的应用

    实验目的

    掌握类String类的使用;
    学会使用JDK帮助文档;

    实验内容

    1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
    统计该字符串中字母s出现的次数。
    统计该字符串中子串“is”出现的次数。
    统计该字符串中单词“is”出现的次数。
    实现该字符串的倒序输出。

    实验代码

    public class Example1 {
    	public static void main(String args[]) {
    		String str = new String("this is test of java");
    		System.out.println("含有S的个数:"+Fangfa1(str));
    		System.out.println("is的字串:"+Fangfa2(str));
    		System.out.println("单词is的个数"+Fangfa3(str));
    		Fangfa4("倒序输出字符串"+str);
    
    	}
    	public static int Fangfa1(String str) {
    		int count1 = 0;
    		char c[] = str.toCharArray();
    		for(int i = 0; i < c.length;i++) {
    			if(c[i] == 's') {
    				count1++;
    			}
    		}
    		return count1;
    	}
    	public static  int Fangfa2(String str) {
    		int count2 = 0;
    		char c[] = str.toCharArray();
    		for(int i = 0; i < c.length;i++) {
    			if(c[i] == 's' && c[i - 1] == 'i') {
    				count2++;
    			}
    		}
    		return count2;
    	}
    	public static int Fangfa3(String str) {
    		int count3 = 0;
    		String c[] = str.split(" ");
    		for(int i = 0;i < c.length ; i++) {
    			if(c[i].equals("is")) {
    				count3++;
    			}
    		}
    		return count3;
    	}
    	public static void Fangfa4(String str) {
    		String c[] = str.split(" ");
    		for(int i = c.length - 1; i > 0;i--) {
    			 System.out.print(c[i] + " ");
    			
    		}
    	}
    }
    

    实验结果

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

    实验代码

    import java.util.*;
    public class Jiami {
    	public static void main(String args[]) {
    	Scanner in= new Scanner(System.in);
    	String str = in.nextLine();
    	char c[] = str.toCharArray();
    	for(int i = 0; i< c.length;i ++) {
    		 c[i] = (char) (c[i] + 3);
    	}
    	String str2 = new String(c);
    	System.out.println(str2);
    	in.close();
    	}
    }
    

    实验结果

    更改版

    import java.util.*;
    public class Jiami {
    	public static void main(String args[]) {
    		Scanner in= new Scanner(System.in);
    	int i,flag = 0;
    	while(true) {
    		
    		String str = in.nextLine();
    		char c[] = str.toCharArray();
    	for(i = 0;i < c.length;) {
    		if(c[i] < 'A' ||c[i] > 'Z' && c[i] < 'a' || c[i] > 'z') {
    			System.out.println("输入错误,请输入英文字串!");
    			flag = 1;
    			break;
    		}
    		i++;
    		
    	}
    
    	char d[] = {c[0],c[1],c[2]};
    	int j = 0;
    	for(i = 0; i< c.length;i ++) {
    		if(i >= c.length - 3) {
    			c[i] = (char)(d[j]);
    			j++;
    		}
    		else
    		 c[i] = (char) (c[i] + 3);
    	}
    	if(flag == 0) {
    		
    	String str2 = new String(c);
    	System.out.println(str2);
    	break;
    	
    	}
    	flag = 0;
    	
    	}
    	in.close();
    	}
    	
    }
    

    结果

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

    实验代码

    public class Panduanzifu {
    	public static void main(String args[]) {
    		String str = "ddejidsEFALDEfnef2357 3ed";
    		char c[] = str.toCharArray();
    		int count1 = 0, count2 = 0, count3 = 0;
    		for(int i = 0;i < c.length;i ++) {
    			if((int)c[i] >= 65 & (int)c[i] <= 90) 
    			count1++;
    			if((int)c[i] >= 97 & (int)c[i] <= 122) {
    				count2++;
    			}
    			
    			if((int)c[i] < 65 || (int)c[i] > 90 & (int)c[i] < 97 || (int)c[i] > 122) {
    				count3++;
    			}
    		}
    		System.out.println("大写字母数:"+count1);
    		System.out.println("小写字母数:"+count2);
    		System.out.println("非英文字数:"+count3);
    	}
    
    }
    

    实验结果

    实验总结

    这次实验主要是字符串的处理,大体过程没什么难度,就是统计单词is的时候,单词数为零,后来一想,直接比较是比较地址,用了equals后就没问题了。实验虽然简单,但是更加让我对字符串的处理更加得心应手。

    第五周总结

    本周主要讲了Java的第二个特性,继承性,final关键字进一步讲解了多态性,对象的多态,

    注意:Java中只允许单继承,不允许多继承,即一个子类只能继承一个父类,可以多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类。
    继承的子类有时也被叫做派生类,extends本身含义为扩展,就是扩展父类的内容
    注意:子类不能直接访问父类私有成员,可以调用非私有方法,可以间接调用私有成员,例如setter,getter。
    子类对象在实例化之前会先默认调用父类中的构造方法,所以实例化子类对象之前,需要先将父类中的属性进行初始化,在子类中隐含了一个super()方法。
    super()表示子类可以直接调用父类中的无参构造。
    覆写:
    存在子类继承父类中。
    主意:子类中覆写的方法不能有比父类更严格的权限。

    super关键字:
    前面已经提到super可以直接调用父类中的方法。
    super调用构造方法与this一样,super要方法子类构造方法的首行
    super与this很相似,都是可以调用构造,普通方法,属性,但是两者还是有一点区别。

    final关键字:
    final在Java中表示最终的意思,可以使用final声明类,属性,方法
    注意:

    • 使用final声明的类不能有子类。
    • 使用final声明的方法不能被子类覆写。
    • 使用final声明的变量即成为常量,常量不可以修改。
      final变量命名时要求全部大写。
      抽象类:
      抽象类是Java专门提供一种当父类的类
      抽象类的定义和命名规则:
    • 包含一个抽象方法的类必须是抽象类。
    • 抽象类和抽象方法都要使用abstract关键字声明;
    • 抽象方法只须声明不需要实现。
    • 抽象类必须被子类继承,子类如果不是抽象类那么必须要覆写抽象类的全部抽象方法。

      抽象类不能使用final关键字声明,因为抽象类必须被继承,必须被覆写。
      抽象类可以定义构造方法
      抽象类实际上就是比普通类多了一个抽象方法,除此之外没有很大的区别。

    多态:
    一种是的方法的重载与覆写
    另一种是对象的多态
    对象的多态主要是两种类型

    向上转型,程序会自动完成,向下转型,必须要明确转型的子类类型
    向下转型前必须先发生向上转型。
    主要作用

  • 相关阅读:
    Microsoft.Office.Interop.Excel.Application同时存在于
    sql 判断是否为数字字符
    在res/drawable中的文件
    在res/values中的文件
    放在res/anim中的文件(持续更新)
    在res/xml中的文件
    资源种类
    在assets中的文件
    android讲义2之输入界面
    在res/menu中的文件
  • 原文地址:https://www.cnblogs.com/xiao--liang/p/11598008.html
Copyright © 2011-2022 走看看