String与反序
将String类型的字符串里的内容进行反序排列得到一个新的String类型字符串,下面提供两种方法实现:
法1、先将原String类型字符串转换为字符数组,通过字符数组来操作各个位上的单个字符,通过对称的交换首尾字符实现整体字符数组的反序操作,然后将此字符数组再转换为String类型的字符串。
package ****;
import java.util.*;
public class sanweifanxushu_3_8 {
public static void main(String[] args){
int n,len=0;
System.out.println("请输入一个不以0为结尾的整数");
Scanner input = new Scanner(System.in);
n = input.nextInt();
if(n%10==0){
System.out.println("输入格式错误!输入不能以0结尾!");
}
else{
String str11 = String.valueOf(n);
len = str11.length();
for(int i=0;i<(len/2);i++){
str11 = swap(str11,i,len-1-i);
}
System.out.println(n+"的反序数是:"+str11);
}
input.close();
}
public static String swap(String str,int a,int b){
char temp1,temp2;
temp1 = str.charAt(a);
temp2 = str.charAt(b);
char[] chararr = str.toCharArray();
chararr[a] = temp2;
chararr[b] = temp1;
String s2 = new String(chararr);
System.out.println(s2);
return s2;
}
}
法2、通过StringBuffer类的reverse()方法直接实现反序。
package *******;
import java.util.*;
public class sanweifanxushu_3_8_2 {
public static void main(String[] args){
int n;
System.out.println("请输入一个不以0为结尾的整数");
Scanner input = new Scanner(System.in);
n = input.nextInt();
if(n%10==0){
System.out.println("输入格式错误!输入不能以0结尾!");
}
else{
String str11 = String.valueOf(n);
str11 = ReverseStr(str11);
System.out.println(n+"的反序数是:"+str11);
}
input.close();
}
public static String ReverseStr(String str){
return (new StringBuffer(str)).reverse().toString();
}
}
不能通过String类型的replace()方法实现反序。
其他方法待续······
String与反序的更多相关文章
- pojg2744找一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是y的子串,或者x中的字符反序之后得到的新字符串是y的子串。
http://poj.grids.cn/practice/2744 描述现在有一些由英文字符组成的大小写敏感的字符串,你的任务是找到一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是 ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- 编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。
namespace test2 { class Program { /// <summary> /// 编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的 ...
- SortedDictionary<TKey,TValue>正序与反序排序及Dicttionary相关
SortedDictionary<TKey,TValue>能对字典排序 using System; using System.Collections.Generic; using Syst ...
- 反序显示一个整数 Exercise06_04
import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:反序显示一个整数 * */ public class Exercise06 ...
- Java 实现单链表反序
//单链表反序 public class SingleLinkedListReverse { public static void main(String[] args) { Node head = ...
- 九度OJ 1058:反序输出 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8454 解决:3042 题目描述: 输入任意4个字符(如:abcd), 并按反序输出(如:dcba) 输入: 题目可能包含多组用例,每组用例 ...
- 找一个四位数,要求该四位数的四倍刚好是该四位数的反序。 即b1b2b3b4 * 4 = b4b3b2b1
找一个四位数,要求该四位数的四倍刚好是该四位数的反序. 即b1b2b3b4 * 4 = b4b3b2b1 解: 第一步,确认最末位 假设 b1b2b3b4 + b4b3b2b1 = [x0]x1x2x ...
- Django的列表反序
Django虽然是python的web框架,但它不是所有的python特性都支持的. 最近在项目中遇到一个问题,需要在Django中将获得的列表反序排列,一开始我使用的是python的reverse方 ...
随机推荐
- 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
地址:chromedriver官网下载地址: http://chromedriver.storage.googleapis.com/index.html(失效了) http://npm.taobao. ...
- 宝宝书 & 网站
1. 网站 妈妈帮 宝宝树 2. 图书推荐 育儿百科 育儿经 中国儿童智力方程 聪明宝宝营养食谱1001例
- 使用AllocConsole()添加调试用控制台
AllocConsole 函数 为调用进程分配一个新的控制台. 使用步骤: 1. AllocConsole(); //分配控制台 2. HANDLE g_hOutput=GetStdHandle( ...
- C++ namespace浅析
有一些C语言的基础,突然想看看C++,在Codeblocks上新建工程的时候会生成一个打印"Hello World"的程序,和C语言些许不同.其中最突出的就是"using ...
- 哈希表类Hashtable
哈希表是一种重要的存储方式,也是一种常见的检索方法.其基本思想是将关系码的值作为自变量,通过一定的函数关系计算出对应的函数值,把这个数值解释为结点的存储地址,将结点存入计算得到存储地址所对应的存储单元 ...
- 2-XOR-SAT (种类并查集)
写了那么多模拟题这题算是最难的了QAQ 好神,,,我于是补了一下并查集.. 并查集很神...... orz 种类并查集...orz 对于维护sat,我们可以这样想: 如果x和y的xor是true,那么 ...
- FreeRTOS系列第17篇---FreeRTOS队列
本文介绍队列的基本知识,具体源代码分析见<FreeRTOS高级篇5---FreeRTOS队列分析> 1.FreeRTOS队列 队列是基本的任务间通讯方式.能够在任务与任务间.中断和任务间传 ...
- 一个事半功倍的c#方法 动态注册按钮事件
前几天在网上看见一个制作计算器的c#程序,其中有一个动态注册按钮事件,觉的很有用.于是实际操作了一哈, 确实比较好. 言归正传,下面就来讲讲怎样动态注册按钮事件. 首先,我们需要设置变量来获取点击一个 ...
- Asynchronous calls and remote callbacks using Lingo Spring Remoting
http://www.jroller.com/sjivan/entry/asynchronous_calls_and_callbacks_using Asynchronous calls and re ...
- manacher算法处理最长的回文子串(二)
在上篇<manacher算法处理最长的回文子串(一)>解释了manacher算法的原理,接着给该算法,该程序在leetcode的最长回文子串中通过.首先manacher算法维护3个变量.一 ...