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);
}
}

Java实验3与第五周总结的更多相关文章

  1. 201271050130-滕江南-《面向对象程序设计(java)》第十五周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十五周学习总结 博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.c ...

  2. 201871010111-刘佳华《面向对象程序设计(java)》第十五周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第十五周学习总结 实验十三  Swing图形界面组件(二) 实验时间 2019-12-6 第一部分:理论知识总结 5> ...

  3. 201871010123-吴丽丽《面向对象程序设计(Java)》第十五周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  4. 201871010104-陈园园 《面向对象程序设计(java)》第十五周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  5. 201871010105-曹玉中《面向对象程序设计(java)》第十五周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个过程 https://www.cnblogs.com/nwnu-daizh/ ...

  6. 201871010107-公海瑜《面向对象程序设计(java)》第十五周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第十五周学习总结             项目                            内容   这个作业属于 ...

  7. 201871010128-杨丽霞《面向对象程序设计(java)》第十五周学习总结

    201871010128-杨丽霞<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  8. 201871010133-赵永军《面向对象程序设计(java)》第十五周学习总结

    201871010133-赵永军<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  9. 201871020225-牟星源《面向对象程序设计(java)》第十五周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. web性能优化--服务器端(二)

    静态资源用CDN部署 添加Expires或者cache-control报文头 Gzip压缩传输文件 配置Etags 使用Get ajax请求 避免空图片src 尽早flush response 减少c ...

  2. IOS上编译boost库

    环境:xcode9mac os 10.13 1.下载boost库并解压2.cd到解压后的文件包内,执行 sh bootstrap.sh(解压后会得到这个脚本文件).3.执行./b2 编译整个库.4.经 ...

  3. 任意修改网页内容JS代码

    浏览器输入框执行,chrome需要粘贴后,需要在前面手打javascript: 因为粘贴的会自动过滤 javascript:document.body.contentEditable='true'; ...

  4. mysql分批导出数据和分批导入数据库

    mysql分批导出数据和分批导入数据库 由于某些原因,比如说测试环境有很多库,需要迁移到新的环境中,不需要导出系统库的数据.而数据库又有好多,如何才能将每个库导出到独立的文件中呢?导入到一个文件的话, ...

  5. 【织梦手机端仿站】和PC一个后台

    卸载插件,织梦默认带手机站,无需复杂使用插件以后不方便升级.织梦2015年6月8日更新后,就添加了很多针对手机移动端的设计,最大的设计就是添加了生成二维码的织梦标签和织梦手机模板功能,织梦更新后,默认 ...

  6. aspose 模板输出

    Dictionary<string, string> dictionnaryBig = new Dictionary<string, string>(); dictionnar ...

  7. html article标签 语法

    html article标签 语法 article标签有什么作用?直线电机生产厂家 作用:html中article标签的作用是规定独立的自包含内容,其中外部内容是来自一个外部的新闻提供者的一篇新文章, ...

  8. nowcoder 79F 小H和圣诞树 换根 DP + 根号分治

    设节点个数大于 $\sqrt n$ 的颜色为关键颜色,那么可以证明关键颜色最多有 $\sqrt n$ 个.对于每个关键颜色,暴力预处理出该颜色到查询中另一个颜色的距离和. 对于不是关键颜色的询问,直接 ...

  9. CDOJ 1060 秋实大哥与快餐店 字典树 水题

    题目链接 B - 秋实大哥与快餐店 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu Sub ...

  10. EcShop开发手册

    Ecshop文件结构 ecshop文件架构说明 ECShop 结构图及各文件相应功能介绍 ECShop upload 的目录 ┣ activity.php 活动列表 ┣ affiche.php 广告处 ...