zoukankan      html  css  js  c++  java
  • Java实验3与第五周总结

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

    public class Test5 {
    	
    	String s = "this is a test of java";
    	static Test5 OneString = new Test5();
    	public static void main(String[] args) {
    		OneString.numberS();
    		OneString.numberIS();
    		OneString.numberwordIS();
    		OneString.reversal();
    	}
    	public void numberS() {
    		int number = 0;
    		for(int i = 0 ; i < s.length(); i++) {
    			char c = s.charAt(i);
    			if(c=='s') {
    				number++;
    			}
    		}
    		System.out.println("S出现次数"+number);
    	}
    	public void numberIS() {
    		int number = 0;
    		for(int i = 1 ; i < s.length() ; i++) {
    			char c = s.charAt(i-1);
    			char c1 = s.charAt(i);
    			if(c=='i'&&c1=='s') {
    				number++;
    			}
    		}
    		System.out.println("字符IS出现次数"+number);
    	}
    	public void numberwordIS() {
    		int number = 0;
    		String s[] = this.s.split(" ");
    		for(String s1 : s) {
    			if(s1.equalsIgnoreCase("is")) {
    				number++;
    			}
    		}
    		System.out.println("单词IS"+number);
    	}
    	public void reversal() {
    		StringBuilder word  = new StringBuilder();
    		for(int i = s.length()-1 ; i>=0 ; i--) {
    			char c = s.charAt(i);
    			word = word.append(s.charAt(i));
    		}
    		System.out.println("倒序输出 " + word);
    	}
    }
    

    本题我没有将字符串转换为数组再操作。在判断字符is时我一开始并未想到如何去使循环检测二个字符,最后上网查了下,发现可以建二个char型的变量进行检测。
    在寻找单词时,虽然用空格隔开了,但我一开始并未想到一个很好的方法去对比单词是不是is,最后询问朋友,得到了一个·新的方法。

    2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。

    import java.util.Scanner;
    public class Test52 {
    	
        static Scanner scanner = new Scanner(System.in);
    	public static void main(String[] args) {
    		StringBuilder s = new StringBuilder();
    	    String s2 = " ";
    		String s1 = scanner.next();
    		for(int i = 0 ; i < s1.length() ; i++) {
    			int c = s1.charAt(i);
    			if(c>=65 && c<=90) {
    				if(c==88) {
    					c = 65;
    				}else if(c==89) {
    					c = 66;
    				}else if(c==90) {
    					c = 67;
    				}else {
    					c+=3;
    				}
    				s2 = String.valueOf(s.append((char)c));
    			}else
    			if(c>=97 && c<=122) {
    				if(c==120) {
    					c = 97;
    				}else if(c==121) {
    					c = 98;
    				}else if(c==122) {
    					c = 99;
    				}else {
    					c+=3;
    				}
    				s2 = String.valueOf(s.append((char)c));
    			}
    		}
    		System.out.println("加密前 "+s1);
    		System.out.println("加密后 "+s);
    	}
    
    }
    

    一开始我并未弄明白本题的意思,我以为只是将字符串往后移三位,然后发现还要加密,所以一开始不能理解。
    经过我朋友的一番提点,我才想起来C语言老师曾经说过的加密,最后从这方面尝试了下。

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

    public class Test53 {
    
    	static String s = "ddejjdsEFALDFfnef2357 3ed";
    	public static void main(String[] args) {
    		int Word = 0;
    		int word = 0;
    		int other = 0;
    		for(int i = 0;i < s.length();i++) {
    			char c = s.charAt(i);
    			if(c>='A' && c<='Z') {
    				Word++;
    			}else 
    			if(c>='a' &&c<='z') {
    				word++;
    			}else {
    				other++;
    			}
    		}
    		System.out.print("大写字母: "+Word+",小写字母 "+word+",其他 "+other);
    	}
    
    }
    

    这个题目相较于前二题来说比较简单,没有出现什么错误。

    第五周学习总结
    这周总算是通过自己的自主学习学到了一些东西:
    因为上周在课堂上老师讲解了string类的相关知识,所以这周在做作业时,主要是围绕string而学习:
    1.char[] up = str.tocharArray();可以将字符串转换成数组,再通过以前学的C语言知识进行简单的转换即可。
    2.string s[] = this.s.split(“”);可以进行切割,我觉得这在寻找单词时是很有用的。
    3.stringBuilder与stringBuffer字符串变量。stringBuilder中的attend方法与insert方法在添加字符或字符串时有着很好的作用。
    4.valueOf可以把其他类型的变量转换成字符串类型的变量。
    这只是一些自我学习后的总结,如果以后发现有不完整的,再补充

    加密

    import java.util.Scanner;
    public class Test532 {
       public static void main(String[] args) {
                   Scanner s=new Scanner(System.in);
                   String str = s.next();
                   char a[]= str.toCharArray();
                   char b[] = new char[10] ;
                   int n=0;
                   for(int i = a.length-3;i<a.length;i++) {
                       b[n]=a[i];
                           n++;
                   }
                   for(int j=0;j<a.length-3;j++) {
                       b[n]=a[j];
                           n++;
                   }
                      System.out.println(b);
               }
    }
    

  • 相关阅读:
    Linux C编程之十二 信号
    折腾vue--vue自定义组件(三)
    折腾vue--使用vscode创建vue项目(二)
    折腾vue--环境搭建(一)
    .net生成PDF文件的几种方式
    星星评分-依赖jquery
    组织机构树
    Newtonsoft--自定义格式化日期
    .net mvc 自定义错误页面
    js模拟form提交 导出数据
  • 原文地址:https://www.cnblogs.com/arthur-w/p/11593596.html
Copyright © 2011-2022 走看看