Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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
Java 如何以我想要的方式混合琴弦?_Java_String_Char - Fatal编程技术网

Java 如何以我想要的方式混合琴弦?

Java 如何以我想要的方式混合琴弦?,java,string,char,Java,String,Char,首先,请记住我在这方面是新手,所以聪明的家伙,要友善 我试图理解为什么在这一行: for(i = word.length() -1; i >= 0; i--) System.out.print(word.charAt(i)); 我得到了我的字符串向后回复,很好的回答:oaiCgiiB,在这行代码中: for(i = 0 ; i <= word.length(); i++) System.out.print(word.charAt(i)); 我希望第二个能像第一个一

首先,请记住我在这方面是新手,所以聪明的家伙,要友善

我试图理解为什么在这一行:

for(i = word.length() -1; i >= 0; i--)
    System.out.print(word.charAt(i));
我得到了我的字符串向后回复,很好的回答:oaiCgiiB,在这行代码中:

for(i = 0 ; i <= word.length(); i++)
    System.out.print(word.charAt(i));
我希望第二个能像第一个一样工作,但不是输出BiigCiao


任何帮助都将不胜感激。

,因为你是不受限制的

而:

for(i = word.length() -1; i >= 0; i--)
System.out.print(word.charAt(i));
对于长度=3,使用索引2、1、0,如下所示:

for(i = 0 ; i <= word.length(); i++)
System.out.print(word.charAt(i));
使用索引0、1、2、3。对于长度=3,3超出范围

您可能想要:

for(i = 0 ; i < word.length(); i++)
System.out.print(word.charAt(i));

它将使用索引0、1、2。

在C语言中,您不会得到异常,因为它不关心数组的越界。这是C.Java中的一个问题,但是每当您尝试访问数组外部的索引时,总是检查边界并提供“IndexOutOfBoundsException”

C语言中的等效代码:

for(i = 0 ; i <= strlen(word); i++)
    printf("%c",word[i]);
如果word[length]为“\0”,则可以正常工作,并且打印时没有问题

for(i = 0 ; i <= word.length()-1; i++)  //add mines 1 here
System.out.print(word.charAt(i));
您必须向中添加-1;单词长度-1


因为单词从索引0开始,以单词结束。length-1

fori=0;ifor(i = 0 ; i <= word.length()-1; i++) //add mines 1 here System.out.print(word.charAt(i));