Java实验报告

班级 计科二班 学号20188437 姓名 何磊

完成时间 2019/9/22

评分等级

实验三 String类的应用

  1. 实验目的
    1. 掌握类String类的使用;
    2. 学会使用JDK帮助文档;
  2. 实验内容

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

  3. 统计该字符串中字母s出现的次数。
  4. 统计该字符串中子串"is"出现的次数。
  5. 统计该字符串中单词"is"出现的次数。
  6. 实现该字符串的倒序输出。

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

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

  1.  
  1. 实验过程(请自己调整格式)

1.(一)实验代码

package第三次java实验;

public class Thisisatestofjava {

public static void main(String[] args) {

// TODO Auto-generated method stub

int count=0;

String s="this is a test of java";

System.out.println((","+s+",").split("s").length-1);

//方法一:split函数对字符串s在"s"位置进行拆分,然后通过.length得到拆分后的字符串的个数,减1得到"s"出现的次数

char c[]=s.toCharArray();

for(char e:c){

if(e=='s'){

count++;

}

}

//方法二:用toCharArray函数将字符串s变成字符数组,用foreach循环对字符数组进行遍历,判断并计数

System.out.println((","+s+",").split("is").length-1); //同上方法一

System.out.println((","+s+",").split(" is ").length-1); //同上

for (int i=c.length-1;i>= 0;i--) {

System.out.print(c[i]);

}

//利用字符数组下标递减输出

StringBuffer buffer = new StringBuffer(s);

System.out.println("\n"+buffer.reverse());

//定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。

}

}

(二)运行结果

2.(一)实验代码

package 第三次java实验;

import java.util.Scanner;

public class 加密解密 {

    public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String s=input.nextLine(); //输入一个字符串
int length=s.length(); //取得字符串长度
char c[]=s.toCharArray(); //将字符串拆分为单个字符
if(length>2){ //如果字符串长度大于2进入循环
String p=s.substring(length-3); //截取字符串最后3位字符
for(int j=length-4;j>=0;j--){ //将字符串后移3位
c[j+3]=c[j];
}
char c1[]=p.toCharArray(); //将截取后的字符串拆分为单个字符
for(int k=0;k<3;k++){ //将截取的字符连接到字符数组前3位
c[k]=c1[k];
}
System.out.println(c); //输出
}
else{ //字符串长度小于3直接输出字符串
System.out.println(s);
}
for(int i=0;i<length;i++){ //将每个字符的ASCLL码值向后偏移三位
c[i]=(char)(c[i]+3);
}
System.out.println(c); //输出
}
}

(二)运行结果

3.(一)实验代码

package第三次java实验;

public class统计字符串 {

public static void main(String[] args) {

// TODO Auto-generated method stub

int ABC=0,abc=0,other=0;

String s="ddejidsEFALDFfnef2357 3ed";

char c[]=s.toCharArray();

for(char e:c){

if(e>='A'&&e<='Z'){

ABC++;

}

else if(e>='a'&&e<='z'){

abc++;

}

else{

if(e!=' '){

other++;

}

}

}

System.out.print("大写字母数:"+ABC+"\n小写字母数:"+abc+"\n非英文字母数:"+other);

}

}

(二)运行结果

  1. 总结:

本次实验主要内容为字符串的处理,要学会善于利用String类和StringBuffer类中的方法。

加密解密题输入空格会导致只能输出空格前的字符,发现next()输入遇到空格时结束输入,改为nextLine()后解决。

同一问题有多种方法可以解决,举一反三就能学到更多。

本周学习了Java常用类库中的StringBuffer类以及package包的引用等,主要是一些概念类的知识,需要课余加以记忆巩固。

第三次Java实验报告的更多相关文章

  1. 第三周java实验报告

        实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java“白皮书”的关键术语,java的常见术语,对于大多数“白皮书”的关键术语依然 ...

  2. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  3. Java实验报告五:Java网络编程及安全

    Java实验报告五:Java网络编程及安全                                                                               ...

  4. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  5. 20145203盖泽双:Java实验报告二

    Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...

  6. 第五次java实验报告

    Java实验报告 班级 计科二班 学号 20188437 姓名 何磊 完成时间2019/10/10 评分等级 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实 ...

  7. 20155310第一周JAVA实验报告

    20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  8. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  9. 20145322第一次JAVA实验报告

    20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...

随机推荐

  1. Oracle查看锁表和解锁

    --注意权限问题 1.查看是否有被锁的表: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a ...

  2. parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。

    parents([expr]) 概述 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素).可以通过一个可选的表达式进行筛选.大理石平台检定规程   参数 exprStringV1.0 用于 ...

  3. php遍历一个文件下的所有文件和子文件夹下的文件

    function AllFile($dir){ if($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if($file ...

  4. react-native-pg-utils(对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法.)

    react-native-pg-utils 对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法. 每次新建react-native项目之后都会发现有一些很常用的方法在这 ...

  5. am335x system upgarde ddr3 capacity configuration base on TI DDR3 Software Leveling Tool (二十)

    follow test is  use ti DDR Software Leveling op log. AM335x DDR3 Software Leveling -- Version: Beta ...

  6. [Luogu] 文艺平衡树(Splay)

    题面:https://www.luogu.org/problemnew/show/P3391 题解:https://www.zybuluo.com/wsndy-xx/note/1138892

  7. 【原创】洛谷 LUOGU P3372 【模板】线段树1

    P3372 [模板]线段树 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别 ...

  8. 关于在java 8中,为什么不能调用当前类正在实现的接口的静态方法的解释

    以下情况可以通过编译 Class A { static void staticMethod() { println(); } } Class B extends A { } B.staticMetho ...

  9. python 找出数组重复的元素

    """ 从头扫到尾,只要当前元素值与下标不同,就做一次判断,numbers[i]与numbers[numbers[i]], 相等就认为找到了重复元素,返回true,否则就 ...

  10. python 字符串(str)和列表(list)的互相转换

    1.str to list  str1 = "12345"list1 = list(str1)print list1 str2 = "123 sjhid dhi" ...