java翻轉字元串
㈠ java 里使用reverse()方法來把字元串反轉,為什麼Java提示沒有定義方法reverse
這個方法不是jdk自帶的,需要自己寫,參考如下:
public String reverseSting(String inputString) {
char[] inputStringArray = inputString.toCharArray();
String reverseString = "";
for (int i = inputStringArray.length - 1; i >= 0; i--) {
reverseString += inputStringArray[i];
}
return reverseString;
}
㈡ java 實現字元串反轉,要求時間和空間復雜度最優
不知為何你有這種想法,如果有好的演算法可以和我討論下,下面我寫了2個代碼希望能幫到你。
package app;
public class TransDemo {
//abcdef「反轉後為「fedcba
public static void main(String[] args){
String str = "abcdef";
char[] ary = str.toCharArray();
for(int i = 0; i< str.length()/2; i++){
int temp = ary[ary.length-i-1]-ary[i];
ary[i] += temp;
ary[ary.length-i-1] -=temp;
}
str = new String(ary);
System.out.println(str);
}
}
package app;
public class TransDemo {
//abcdef「反轉後為「fedcba
public static void main(String[] args){
String str = "abcdef";
char[] ary = str.toCharArray();
for(int i = 0; i< str.length()/2; i++){
char c = ary[i];
ary[i] = ary[str.length()-1-i];
ary[str.length()-1-i] = c;
}
str = new String(ary);
System.out.println(str);
}
}
㈢ Java如何使用堆棧來反轉字元串
Stack<String> s=new Stack<String>();
String a="abcdefg";
for(int i=0;i<a.length();i++){
char c=a.charAt(i);
s.push(""+c);
}
String b="";
while(true){
String t=s.pop();
b=b+t;
if(s.isEmpty())break;
}
System.out.println("a=["+a+"],b=["+b+"]");
㈣ java如何實現字元串的反轉及替換
反轉:
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("請輸入:");
String s1 = input.nextLine();//得到輸入的字元串
System.out.print("翻轉後:");
for(int i=s1.length()-1;i>=0;i--){
System.out.print(s1.charAt(i));
}
}
}
或者
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //輸入字元串
String s2[] = str.split("\\s"); // \s 以空格為分隔符拆分字元串,並保存到數組s2裡面
for (int i = s2.length-1; i >= 0; i--) { //反向輸出數組
System.out.print(s2[i]+" ");
}
}
}
㈤ java反轉字元串
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("請輸入:");
String s1 = input.nextLine();//得到輸入的字元串
System.out.print("翻轉後:");
for(int i=s1.length()-1;i>=0;i--){
System.out.print(s1.charAt(i));
}
}
}
㈥ java程序關於字元串倒置
String類型對象的內容是不可以修改的,所以JAVA提供StringBuffer提供對字元串的修改操作。其成員方法reverse()提供對字元串的倒置功能。所以一般先將String類轉化為StringBuffer類在做處理。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String inStr=scanner.nextLine();//標准輸入字元串
StringBuffer reStr=new StringBuffer(inStr);//將String類型轉化為StringBuffer類型
reStr.reverse();//StringBuffer類的成員方法reverse可以倒置字元串
inStr=reStr.toString();//轉化為String類型
System.out.println("倒置後字元串為:"+inStr);
}
}
㈦ java反轉字元串
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //輸入字元串
String s2[] = str.split("\\s"); // \s 以空格為分隔符拆分字元串,並保存到數組s2裡面
for (int i = s2.length-1; i >= 0; i--) { //反向輸出數組
System.out.print(s2[i]+" ");
}
}
}
輸入aaaa bbb cccc ddd
輸出ddd cccc bbb aaaa
㈧ java 我string了一個s,然後把s的字元串反轉,用reverse方法
第一個問題:String沒有reverse方法,你可以 轉成StringBuffer後調用
第二個問題:s不會變成StringBuffer,因為s沒有參與轉換。
String s="abcd"; //定義一個String類型
StringBuffer sb =new StringBuffer(s);//轉成StringBuffer將s添加進去
System.out.println(sb.reverse().toString());//輸出轉換後的sb,並轉換成String類型
㈨ Java中reverse()的用法
1、reverse函數反轉string
int main() {
string N;
cin>>N;
reverse(N.begin(), N.end());
cout<<N<<endl;
}
2、reverse函數反轉字元數組
int main() {
char a[101];
cin.getline(a,sizeof(a));
int m=strlen(a);
reverse(a,a+m);
puts(a);
}
(9)java翻轉字元串擴展閱讀
語法Reverse ( string )
參數string:要顛倒字元次序的字元串返回值String。函數執行成功時返回顛倒字元次序後的字元串,如果發生錯誤,那麼返回空字元串("")。用法Reverse()函數將一個字元串中最後一個字元放置到另一個字元串的第一個字元位置、倒數第二個字元放置在另一個字元串的第二個字元位置,以此類推。
㈩ java中不藉助任何現有類庫實現對字元串的反轉方法
一樓已經寫出了核心代碼;二樓功能實現了,但用的是類庫已經寫好的方法。
我再來詳細補充下吧:
import java.util.Scanner;
public class ReverseDemo {
/**
* @description 字元串的反轉
*/
public void reverse(){
System.out.println("請輸入字元串:");
Scanner in=new Scanner(System.in);
String str=in.nextLine();//把從鍵盤接受的字元串存入str
char[] ch=str.toCharArray();//把每個字元分別存入char數組
for(int i=ch.length-1;i>=0;i--){//一樓已經寫出來的代碼
System.out.print(ch[i]);
}
}
public static void main(String[] args) {
new ReverseDemo().reverse();
}
}
呵呵,不明白樓主的意思是從頭到尾都不要用到類庫的相關方法,還是只不要用到類庫中提供的reverse( )就可以了。樓下的意思是,不要用到類庫的任何方法。那編起程來的確是很蛋痛的,呵呵。我只是理解為不用類庫提供的反轉方法就可以了,不管這么多。再寫了一個方法,也大同小異,還是用到了類庫的方法charAt( )。
import java.util.Scanner;
public class ReverseDemo {
/**
* @description 字元串的反轉
*/
public void reverse(){
System.out.println("請輸入字元串:");
Scanner in=new Scanner(System.in);
String str=in.nextLine();
char[] ch=new char[str.length()];
for(int i=0;i<str.length();i++){
ch[i]=str.charAt(i);
}
for(int i=ch.length-1;i>=0;i--){
System.out.print(ch[i]);
}
}
public static void main(String[] args) {
new ReverseDemo().reverse();
}
}