java字符串取反_Java探索之string字符串的应用代码示例
String类中提供了丰富的用于操作字符串的方法。
int indexOf(String str)
该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
重载的方法
int indexOf(String str,int formIndex),从指定下标处(包含)查询子串,返回返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
用自己的算法实现startsWith和endsWith功能。
package com.hz.practice;
/**
* 1. 用自己的算法实现startsWith和endsWith功能。
* @author ztw
*
*/
public class Practice01 {
public static void main(String[] args) {
String str = "qwewrewr";
// boolean temp = str.endsWith("r");
// System.out.println(temp);
/*
* startsWith
*/
char[] arr = str.toCharArray();
char c = 'r';
if(arr[0]==c){
System.out.println("true");
}else{
System.out.println("false");
}
/*
* endsWith
*/
if(arr[arr.length-1]==c){
System.out.println("true");
}else{
System.out.println("false");
}
}
}
输出结果:
false
true
2.采用字符的移位方式实现字符文本加密解密。
package com.hz.practice;
import java.util.Scanner;
/**
* 2.采用字符的移位方式实现字符文本加密解密。
* @author ztw
*
*/
public class Practice02 {
public static void main(String[] args) {
System.out.println("请输入一个字符串");
Scanner sc =new Scanner(System.in);
String str1 = new String();
str1=sc.nextLine();
System.out.println(str1.replaceAll("a", "1.")
.replaceAll("b", "2.").replaceAll("c", "3.")
.replaceAll("d", "4.").replaceAll("e", "5.")
.replaceAll("f", "6.").replaceAll("g", "7.")
.replaceAll("h", "8.").replaceAll("i", "9.")
.replaceAll("j", "10.").replaceAll("k", "11.")
.replaceAll("l", "12.").replaceAll("m", "13.")
.replaceAll("n", "14.").replaceAll("o", "15.")
.replaceAll("p", "16.").replaceAll("q", "17.")
.replaceAll("r", "18.").replaceAll("s", "19.")
.replaceAll("t", "20.").replaceAll("u", "21.")
.replaceAll("v", "22.").replaceAll("w", "23.")
.replaceAll("x", "24.").replaceAll("y", "25.")
.replaceAll("z", "26."));
}
}
输出结果:
请输入一个字符串
asdsddffg
1.19.4.19.4.4.6.6.7.
3.验证是随机生成4位验证码,由用户输入并否输入正确, 如果输入错误就生成新的验证码让用户重新输入,最多输入5次!
package com.hz.practice;
import java.util.Random;
import java.util.Scanner;
/**
* 3.验证是随机生成4位验证码,由用户输入并否输入正确,
* 如果输入错误就生成新的验证码让用户重新输入,最多输入5次
* @author ztw
*
*/
public class Practice03 {
public static void main(String[] args) {
String str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[]arr=new char[4];//定义一个长度是4的char型数组
Random sj=new Random();
System.out.println("验证码是:");
for(int i=0;i<4;i++)
{
arr[i]=str.charAt(sj.nextInt(61));//从str中随机截取4个单个字符并赋值给arr这个数组存放
}
System.out.println(arr);
Scanner sc=new Scanner(System.in);
System.out.println("请输入验证码");
String a=new String(arr);//把数组转换成字符串
//定义输入次数
for(int j=0;j<5;j++)
{
if(sc.nextLine().equals(a))
{
System.out.println("验证码输入正确");
}
else
{
System.out.println("验证码输入有误,请重新输入");
if(j<=3)
{
System.out.print("请输入验证码");
for(int i=0;i<4;i++)
{
arr[i]=str.charAt(sj.nextInt(61));//从str中随机截取4个单个字符并赋值给arr这个数组存放
}
System.out.println(arr);
a=new String (arr);
}
else
{
System.out.println("输入有误,对不起,5次机会已用完");
}
}
}
}
}
输出结果:
验证码是:
AVA8
请输入验证码
AVA8
验证码输入正确
package com.hz.practice;
/**
* 4.获取一个字符串在另一个字符串中出现的次数
思路:
1.定义一个计数器。
2.获取子串第一次出现的位置
3.从第一次出现的位置后剩余的字符串中继续获取子串出现的位置,每获取一次计数器加1
4,当获取不到时,计数完成
* @author ztw
*
*/
public class Practice04 {
public static void main(String[] args) {
String str1 = "asdasdas";
String str2 = "as";
//1.定义一个计数器。
int total = 0;
for (String temp = str1; temp!=null &&
temp.length()>=str2.length();) {
//2.获取子串第一次出现的位置
if(temp.indexOf(str2) == 0){
//3.从第一次出现的位置后剩余的字符串中继续获取子串出现的位置,每获取一次计数器加1
total ++;
}
temp = temp.substring(1);
System.out.print(temp+", ");
}
//4,当获取不到时,计数完成
System.out.println("计数完成:"+total);
}
}
输出结果:
sdasdas, dasdas, asdas, sdas, das, as, s, 计数完成:3
package com.hz.practice;
/**
* 5.获取两个子串中最大相同子串
思路:
1.将短的哪个子串按照长度递减的方式获取到
2.将每次获取到的子串去长串中判断是否包含,如果包含,已经找到
* @author ztw
*
*/
public class Practice05 {
public static String getMaxSubString(String s1,String s2) {
String max = "",min = "";
max = (s1.length()>s2.length())?s1: s2;
min = (max==s1)?s2: s1;
// sop("max="+max+"...min="+min);
for(int x=0; x
{
for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++)
{
String temp = min.substring(y,z);
sop(temp);
if(max.contains(temp))//if(s1.indexOf(temp)!=-1)
return temp;
}
}
return "";
}
public static void main(String[] args)
{
String s1 = "ab";
String s2 = "cvhellobnm";
sop(getMaxSubString(s2,s1));
}
public static void sop(String str)
{
System.out.print(str+", ");
}
}
输出结果:
ab, a, b, b,
package com.hz.practice;
import java.util.Scanner;
/**
* 6、写一个方法判断一个字符串是否对称
* @author ztw
*
*/
public class Practice06 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String str = input.next();//接收任意字符串
isOk1(str);
}
/**
* 判断字符串是否对称的方法(一)
* 通过取取索引对应值来进行一一比对
* @param str
*/
public static void isOk1(String str){
boolean result = true;
int count =(str.length()-1)/2;
for (int x=0;x<=count;x++ ){
if(str.charAt(x)!=str.charAt(str.length()-1-x)){
result = false;
break;
}
}
if(!result)
System.out.println("该字符串是不对称的");
else
System.out.println("该字符串是对称的");
}
/*
* public static void main(String[] args){
Scanner input = new Scanner(System.in);
String str = input.next();//接收任意字符串
if (isOk2(str)==true) {
System.out.println("真,对称!");
}else{
System.out.println("假,不对称!");
}
}
/**
* 方法二
* 通过String加强类中的取反方法reverse获取其逆向值
* 再与原字符串相比是否相等!
* 等于则返回TRUE,否则FALSE
* @param str
* @return
*/
/*
public static boolean isOk2(String str){
StringBuffer sb = new StringBuffer(str);
String str2 = sb.reverse().toString();
return str.equals(str2);
}
*/
}
输出结果:
asdsa
该字符串是对称的
package com.hz.practice;
/**
*
9、编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
“To be or not to be",将变成"oT eb ro ton ot eb."。
* @author ztw
*
*/
public class Practice09 {
public static void main(String[] args) {
String str = "To be or not to be";
String[] str2 = str.split(" ");
for (int i = 0; i < str2.length; i++) {
char[] ci = str2[i].toCharArray();
System.out.print(" ");
for (int j = ci.length-1; j >= 0 ; j--) {
System.out.print(ci[j]);
}
}
}
}
package com.hz.practice;
/**
* 10、已知字符串:"this is a test of java".
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串"test"
(3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
* @author ztw
*
*/
public class Practice10 {
public static void main(String[] args) {
String str = "this is a test of java";
// (1) 统计该字符串中字母s出现的次数
int count = 0;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)=='s'){
count++;
}
}
System.out.println("字符串中字母s出现的次数:"+count);
// (2) 取出子字符串"test"
String str2 = (String) str.subSequence(10, 14);
System.out.println(str2);
// (3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
char[] c = str.toCharArray();
System.out.println(c);
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]);
}
System.out.println();
// (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
str=str.toLowerCase();
String[] tt=str.split(" ");
System.out.println(tt.length);
for(int i=0;i
{
//加个判断,长度大于0的
if(tt[i].length()>0){
System.out.print(String.valueOf(tt[i].charAt(0)).toUpperCase());
System.out.print(tt[i].substring(1)+" ");
}
}
System.out.println();
// (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
StringBuffer sb = new StringBuffer(str);
System.out.println(sb.reverse().toString());
char[] c3 = str.toCharArray();
for (int i = c3.length-1; i >= 0 ; i--) {
System.out.print(c3[i]);
}
System.out.println();
// (6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
String[] str5=str.split(" ");
for (int i = 0; i < str5.length; i++) {
System.out.print(str5[i]+", ");
}
}
}
输出结果:
字符串中字母s出现的次数:3
test
this is a test of java
this is a test of java
6
This Is A Test Of Java
avaj fo tset a si siht
avaj fo tset a si siht
this, is, a, test, of, java,
总结
以上就是本文关于Java探索之string字符串的应用代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:浅谈Java编程ToString()方法重写的意义、java tostring方法重写代码示例等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
java字符串取反_Java探索之string字符串的应用代码示例相关推荐
- java数字取反_java中源码反码补码与取反的理解
数字在计算机里是按照二进制来表示的. 箭头朝哪边就是朝哪边移动 补码,反码,和源码 负数原码转化为补码:符号位不变,数值位按位取反,末尾加一. 负数补码转化为原码:符号位不变,数值位按位取反,末尾加1 ...
- java布尔矩阵程序_Java编程实现邻接矩阵表示稠密图代码示例
我们知道,要表示结点,我们可以用一个一维数组来表示,然而对于结点和结点之间的关系,则无法简单地用一维数组来表示了,我们可以用二维数组来表示,也就是一个矩阵形式的表示方法. 我们假设A是这个二维数组,那 ...
- java里面取反 怎么用_java 取反学习
问题 最近学习java 位操作,取反运算遇到了问题. public class bitMpt { public static void main(String[] args) { int a = 12 ...
- java位运算符取反_Java运算符之位运算符
位运算符 尹成课程资料及演示(免费)(文末有资料链接) 位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的.接下来通过一张表来展示Java中的位运算符及其用法,如表1所示. ...
- java中取反运算符_java取反运算符
2018-02-15 回答 用以下代码可以实现你要求的功能: long lang=64509; string str1=long.tobinarystring(lang);//将给定的数转为二进制字串 ...
- java 取反 值_java编程 按位取反的问题 java中取反操作是正数
这个问题涉及到计算机内部的编码. 对于整数,计算机内部用最高位表示符号位,0表示为正,1表示为负. 对于负数,为了便于计算,计算机用补码来表示其值. 已经一个数的补码,要知道其值分两种情况: 1:符号 ...
- java 对数取反_GitHub - giraffegzy/ex_java: java练习题(来源各个地方and难度随机)
java基础练习题 1.检查是否为素数(素数:该数除了1和它本身以外不再有其他的因数的数被称为素数.) 2.打印出1-100的数,每十个数为一组. 3.接收一个层数值n,打印一个有n层的直角三角形,并 ...
- java biginteger 取模_Java BigInteger类
其实除了Python,Ruby外,Java也自带高精,只不过被封装在类里.Java有两个高精类:BigInteger和BigDecimal,分别是高精度整数和高精度小数.本文来简单介绍一下BigInt ...
- java 向上取整_java 中的异常处理和常用类使用
一.异常: 1.异常的简单介绍: Throwable类 / Error Exception | | Unchecked Checked Runtime Exception Exception Exce ...
最新文章
- [Hdu3652]B-number(数位DP)
- 2021年10月份自考感悟
- 《系统集成项目管理工程师》必背100个知识点-94我国信息化战略目标
- 【quartz】执行一次功能
- mybatis 模糊查询
- csrf-token
- 在mybatis用mysql的代码块_关于Mybatis 中使用Mysql存储过程的方法
- SpringBoot1.5.9集成Activiti6
- 怎么把图片做成pdf文件?
- oracle peoplesoft enterprise,Solix实现与Oracle PeopleSoft Enterprise9.1整合
- koa2入门之使用koa-generator生成koa2项目
- 麻木的踏实,但丧失了真实
- BDB的Btree结构以及影响Btree性能的各种配置和方法
- origin绘图软件2021 2022-origin中文版下载安装-origin功能使用
- live555学习(一)编译live555
- 物理像素、CSS像素、dip、dpr、ppi、dpi
- kali2020.1版本虚拟机VMware下载
- esp32外设使用-MCPWM故障处理模块使用
- python写spark_Spark2.1.0+入门:文件数据读写(Python版)
- html百度地图获取城镇街道,集成百度地图根据地址获取经纬度,定位地址到街道...
热门文章
- 捷信总经理Ondrej:愿为中欧企业间的长远发展与互惠共赢而努力
- 不要让未来的你,讨厌现在的自己
- 【Android项目】本地FM收音机开发及源码简析
- Python 语言中的 “鸭子类型”
- 网站分析工具使用方法的介绍,快速高效提高网站分析效率
- MDUKEY创始人兼CEO韩元桢明确将通过“价格保障机制”确保MDU投资人的长久利益
- ITAIP 培训通知|第三期“信创经理人研修班”高级决策人员报名中
- Android之lunch命令
- 如何正确获取 wifi mac地址
- 在已安装win10环境中利用EasyBCD引导安装Ubuntu16.04-小白补充