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);
}
}
Java实验3与第五周总结的更多相关文章
- 201271050130-滕江南-《面向对象程序设计(java)》第十五周学习总结
201271050130-滕江南-<面向对象程序设计(java)>第十五周学习总结 博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.c ...
- 201871010111-刘佳华《面向对象程序设计(java)》第十五周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第十五周学习总结 实验十三 Swing图形界面组件(二) 实验时间 2019-12-6 第一部分:理论知识总结 5> ...
- 201871010123-吴丽丽《面向对象程序设计(Java)》第十五周学习总结
201871010123-吴丽丽<面向对象程序设计(Java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010104-陈园园 《面向对象程序设计(java)》第十五周学习总结
201871010104-陈园园 <面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010105-曹玉中《面向对象程序设计(java)》第十五周学习总结
201871010105-曹玉中<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个过程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010107-公海瑜《面向对象程序设计(java)》第十五周学习总结
201871010107-公海瑜<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于 ...
- 201871010128-杨丽霞《面向对象程序设计(java)》第十五周学习总结
201871010128-杨丽霞<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010133-赵永军《面向对象程序设计(java)》第十五周学习总结
201871010133-赵永军<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871020225-牟星源《面向对象程序设计(java)》第十五周学习总结
201871020225-牟星源<面向对象程序设计(java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
随机推荐
- 编译安装cmake
安装cmake 1.为什么用cmake? mysql部分版本安装前编译需要用软件cmake,而不是我们之前通常使用的make! 百度百科:CMake 可以编译源代码.制作程式库.产生适配器(wr ...
- MySQL数据库安装和启动
目录 一.数据库介绍 二.数据库的分类 1. 关系型数据库系统 2. 当下的关系型数据库系统 3. 当下的非关系型数据库系统 4. 关系型和非关系型数据库系统的区别 三.MySQL的架构 四.MySQ ...
- java数据结构1--数组、排序和Arrays工具类
数组:Array 数组的定义 数组的内存结构 数组定义常见问题 数组常见操作 Java参数传递问题--值传递 二维数组 1.数组概念 同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型. ...
- PyQt4解析HTML Dom
环境: Windows 10 Python 2.7.10 0x01 安装PyQt4 在这个页面下载,注意选对版本. https://riverbankcomputing.com/software/py ...
- 集合综合练习<三>
package com.JiHeTotal; import java.util.Comparator; import java.util.Map; import java.util.Map.Entry ...
- ES6---new Promise()讲解(尤其注意里面的参数resolve、reject)
直接打印出来看看吧,console.dir(Promise). 这么一看就明白了,Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.cat ...
- CMDB表结构设计
服务器 内存.cpu.disk.nic.raid.sn.model.os.status. disk_info = { } SERVER001 storage .... NET001 网络设备 eth ...
- 19. ClustrixDB 执行计划解读
EXPLAIN语句用于显示ClustrixDB查询优化器(也称为Sierra)如何执行INSERT.SELECT.UPDATE和DELETE语句.EXPLAIN的输出有三列: Operation - ...
- git windows下换行符问题
不同操系统下的换行符 CR回车 LF换行 Windows/Dos CRLF \r\n Linux/Unix LF \n MacOS CR \r 1.执行git config --get core.au ...
- XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。
XML DOM DOM 把 XML 文档视为一种树结构.通过这个 DOM 树,可以访问所有的元素.可以修改它们的内容(文本以及属性),而且可以创建新的元素.元素,以及它们的文本和属性,均被视为节点. ...