Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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 需要将字符串的其他每个字符存储到另一个字符串中 公共类新闻字符串{ 公共静态void main(字符串参数[]){ 字符串title=“Book”; 字符串标题1; 标题1=标题; 对于(int i=0;i_Java_String_Char - Fatal编程技术网

Java 需要将字符串的其他每个字符存储到另一个字符串中 公共类新闻字符串{ 公共静态void main(字符串参数[]){ 字符串title=“Book”; 字符串标题1; 标题1=标题; 对于(int i=0;i

Java 需要将字符串的其他每个字符存储到另一个字符串中 公共类新闻字符串{ 公共静态void main(字符串参数[]){ 字符串title=“Book”; 字符串标题1; 标题1=标题; 对于(int i=0;i,java,string,char,Java,String,Char,您的算法是错误的,您需要做的似乎是从源字符串中提取每N个字符,例如: public class newString { public static void main (String args[]){ String title = "Book"; String title1; title1 = title; for(int i = 0; i < title.length(); i++){ for (int x

您的算法是错误的,您需要做的似乎是从源字符串中提取每N个字符,例如:

    public class newString {
   public static void main (String args[]){
      String title = "Book";
      String title1;
      title1 = title;

      for(int i = 0; i < title.length(); i++){
         for (int x = 0; x<title1.length(); x++){
            if (title.charAt(i+x) == title1.charAt(x)){
               System.out.print(title.charAt(0,1));
            }
         }
      }
   }
}
最终结果应该是“Bo”

算法应为:

  • 迭代原始字符串中的每个字符,根据需要使用步幅,在本例中,步幅应为2(因此,不是按1递增,而是按所需步幅递增)
  • 将该索引处的字符添加到第二个字符串中

  • 最终结果应该是一个每N个字符都保存的字符串。

    您的算法是错误的,您需要做的似乎是从源字符串中提取出每N个字符,例如:

        public class newString {
       public static void main (String args[]){
          String title = "Book";
          String title1;
          title1 = title;
    
          for(int i = 0; i < title.length(); i++){
             for (int x = 0; x<title1.length(); x++){
                if (title.charAt(i+x) == title1.charAt(x)){
                   System.out.print(title.charAt(0,1));
                }
             }
          }
       }
    }
    
    最终结果应该是“Bo”

    算法应为:

  • 迭代原始字符串中的每个字符,根据需要使用步幅,在本例中,步幅应为2(因此,不是按1递增,而是按所需步幅递增)
  • 将该索引处的字符添加到第二个字符串中

  • 最终结果应该是一个每N个字符都保存一个字符串。

    这是一个操作更少的循环解决方案。与其检查i是否为偶数,不如增加2

    String source = "Book";
    
    String title1=“某些标题”;
    字符串标题2=“”;
    对于(int i=0;i
    这是一个操作更少的循环解决方案。与其检查i是否为偶数,不如增加2

    String source = "Book";
    
    String title1=“某些标题”;
    字符串标题2=“”;
    对于(int i=0;i
    我不太明白您在尝试什么,但我可以告诉您您在做什么。您的循环结构执行以下操作:

    • 当i=0时,它比较两个字符串中的所有字符(0+n=n,因此内部循环从x-title1.length()开始)
    • 当i=1时,比较除第一个字符外的所有字符(对于大小x,1+n=x-1比较)
    • 当i=2时,比较x/2个字符(对于大小x,2+n=x/2)
    • 当i=3时,比较x/3个字符
    • ……等等
    • System.out.print(title.charAt(0,1))
      甚至不应该编译。
      charAt(int)
      是正确的调用。如果title length大于0,这将始终打印一个包含单个字符的字符串,即title中的第一个字符。除非将title重新分配给其他字符串,否则它将始终相同

    此外,当i=title.length()-1和x>0时,此代码将始终
    title.charAt(i+x)
    处抛出IndexOutOfBoundsException。

    我不太明白您在尝试什么,但我可以告诉您在做什么。您的循环结构执行以下操作:

    • 当i=0时,它比较两个字符串中的所有字符(0+n=n,因此内部循环从x-title1.length()开始)
    • 当i=1时,比较除第一个字符外的所有字符(对于大小x,1+n=x-1比较)
    • 当i=2时,比较x/2个字符(对于大小x,2+n=x/2)
    • 当i=3时,比较x/3个字符
    • ……等等
    • System.out.print(title.charAt(0,1))
      甚至不应该编译。
      charAt(int)
      是正确的调用。如果title length大于0,这将始终打印一个包含单个字符的字符串,即title中的第一个字符。除非将title重新分配给其他字符串,否则它将始终相同

    此外,当i=title.length()时,此代码将始终在
    title.charAt(i+x)
    处抛出IndexOutOfBoundsException-1和x>0。

    使用
    StringBuilder
    。字符串是不可变的。使用
    StringBuilder
    。字符串是不可变的。对我来说,这比if语句更有意义。我来自C#背景,但我假设Java也有StringBuilder,所以我建议使用它而不是串联。这更有意义我来自C#背景,但我假设Java也有StringBuilder,所以我建议使用它而不是连接。