Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字符串增量存储为串联字符串? 扫描仪输入=新扫描仪(System.in); 字符串userInput=input.nextLine(); String letterArray[]=新字符串[userInput.length()]; 对于(int i=0;i=0;j--){ 系统输出打印(字母数组[j]); }_String_Loops_For Loop_Concatenation - Fatal编程技术网

如何将字符串增量存储为串联字符串? 扫描仪输入=新扫描仪(System.in); 字符串userInput=input.nextLine(); String letterArray[]=新字符串[userInput.length()]; 对于(int i=0;i=0;j--){ 系统输出打印(字母数组[j]); }

如何将字符串增量存储为串联字符串? 扫描仪输入=新扫描仪(System.in); 字符串userInput=input.nextLine(); String letterArray[]=新字符串[userInput.length()]; 对于(int i=0;i=0;j--){ 系统输出打印(字母数组[j]); },string,loops,for-loop,concatenation,String,Loops,For Loop,Concatenation,我已经存储了用户输入的内容,现在我想反转他们输入的内容,并将反转后的表单存储为字符串 我已成功地将字符串显示为存储在数组中的每个字母增量的叠加,如何将反转形式存储为字符串?如果您只想反转打印,可以执行以下操作: Scanner input = new Scanner(System.in); String userInput = input.nextLine(); String letterArray[] = new String[userInput.length()];

我已经存储了用户输入的内容,现在我想反转他们输入的内容,并将反转后的表单存储为字符串


我已成功地将字符串显示为存储在数组中的每个字母增量的叠加,如何将反转形式存储为字符串?

如果您只想反转打印,可以执行以下操作:

    Scanner input = new Scanner(System.in);
    String userInput = input.nextLine();
    String letterArray[] = new String[userInput.length()];


    for(int i = 0; i < userInput.length(); i++ ){
        letterArray[i] = userInput.substring(i, i+1);
    }

    for(int j = userInput.length()-1; j>=0; j--){
        System.out.print(letterArray[j]);
    }
扫描仪输入=新扫描仪(System.in);
字符串userInput=input.nextLine();

对于(inti=1;i,可以通过不同的方式获得反向的
java.lang.String

最安全的方法是使用
java.lang.StringBuilder.reverse()
方法:

String userInput = input.nextLine();    
Char[] characters=new Char[userInput.length];
 for(int i=1;i<=userInput.length();i++){
       characters[i-1]=userInput.charAt(userInput.length()-i);
        System.out.print(characters[i-1]);

    }
String newString=new String(characters);
如果您想学习如何迭代字符并以您想要的方式添加它们,可以使用
StringBuilder
,使用
java.lang.StringBuilder.append(char c)
方法逐个追加字符

警告:前方有罕见病例。

有一种特殊情况,您不能改变字符的顺序,甚至不能反转它们

它指的是UTF-16的代理项对。这些是Java
Java.lang.String
中的单个字符对(比如字符c1和c2),但实际上指的是单个unicode字符

如果您构建一个与该对中的字符相反的字符串(c2然后c1),那么您将构建一个不正确的字符串

更新:我刚刚看到StringBuider.reverse()方法的文档明确描述了关于代理项对的内容。请阅读此处:

String userInput = input.nextLine();    
Char[] characters=new Char[userInput.length];
 for(int i=1;i<=userInput.length();i++){
       characters[i-1]=userInput.charAt(userInput.length()-i);
        System.out.print(characters[i-1]);

    }
String newString=new String(characters);
System.out.println(new java.lang.StringBuilder("abc").reverse().toString());