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/ ...
随机推荐
- element 表单校验失败自动聚焦到失败的input框
1.在对应的input框上添加ref属性,直接根据ref就可精确地获取到元素 <el-form-item label="课程名称" :label-width="fo ...
- MyBatis:Parameter Maps collection does not contain value for 的问题解决
Result Maps collection does not contain value for frontpreviewprofitManage.cdata 出现上述错误 主要是因为你的sel ...
- redis高可用(一)主从复制
主从复制 读写分离 https://blog.csdn.net/u014691098/article/details/82391608
- MyEclipse更改项目名web发布名字不改问题
步骤: 右键项目-->选择propertis-->MyEclipse-->Project Facets-->Web-->右侧更改Web Context-root 如下图:
- 各种注意事项(还有c++的一些操作)
转c++时间: 2017年8月9号 1.记得打头文件 2.=与==的区别(赋值|比较) 3.各种运算符的比较级(与Pascal不同),主要是==与位运算 *4.在OJ上scanf和printf时间优于 ...
- Mysql基本原理和概念
一.引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问题.通 ...
- 洛谷 P1140 相似基因 ( 线性DP || 类LCS )
题意 : 题目链接 分析 : 可以观察到给出的配对代价表中对角线部分是正数 其余的都是负数,也就是说让相同字母的匹配的越多越好 即找出 LCS 但是这里 DP 的过程需要记录一下代价 有关 LCS ...
- 容器适配器————stack
只能访问 stack 顶部的元素:只有在移除 stack 顶部的元素后,才能访问下方的元素. 堆栈操作 top():返回一个栈顶元素的引用,类型为 T&.如果栈为空,返回值未定义. push( ...
- Linux简介安装、系统启动过程、目录结构
Linux简介安装.系统启动过程.目录结构 Linux 教程 Linux 英文解释为 Linux is not Unix. Linux 简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus ...
- BZOJ 4417 Luogu P3990 [SHOI2013]超级跳马 (DP、矩阵乘法)
题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=4417 (luogu)https://www.luogu.org/prob ...