题目
HJ12 字符串反转
描述
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述:
输入一行,为一个只包含小写字母的字符串。
输出描述:
输出该字符串反转后的字符串。
示例:
输入:abcd 输出:dcba
分析:
1.使用StringBuilder类的reverse方法进行逆序。
2.使用for循环。
代码:
方法一:使用StringBuilder类的reverse方法进行逆序。
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str=sc.next();
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)<97||str.charAt(i)>122||str.length()>1000){
System.out.println("输入非法!");
return;
}
}
StringBuilder sb=new StringBuilder(str);
sb=sb.reverse();
str=sb.toString();
System.out.println(str);
}
}
方法二:使用for循环。
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str=sc.next();
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)<97||str.charAt(i)>122||str.length()>1000){
System.out.println("输入非法!");
return;
}
}
for (int i = str.length()-1; i >=0; i--) {
System.out.print(str.charAt(i));
}
}
}
大佬代码:
使用栈的先进后出特性。
import java.util.Scanner;
import java.util.Stack;
/**
* @author lxg
* @description 字符串反转方式二
* @date 2021/9/27
*/
public class Main{
public static void main(String[] args) {
Stack stack = new Stack();
Scanner in = new Scanner(System.in);
String s = in.nextLine();
for (int i = 0; i <s.trim().length() ; i++) {
stack.push(s.charAt(i));
}
while(!stack.empty()){
System.out.print(stack.pop());
}
}
}
使用原理来编写。
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String a=in.next();
System.out.println(getString(a));
}
public static String getString(String a){
char[] chararr = a.toCharArray();
for(int i=0;i<chararr.length/2;i++){
char tmp=chararr[i];
chararr[i]=chararr[chararr.length-1-i];
chararr[chararr.length-1-i]=tmp;
}
return new String(chararr);
}
}
HJ13 句子逆序
描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
数据范围:输入的字符串长度满足 1≤
标签:String,System,public,str,Scanner,字符串,new,句子,逆序 From: https://blog.csdn.net/m0_57463864/article/details/140456694