Java查询解决拉伸因子

时间:2016-12-08 09:31:15

标签: java eclipse arraylist

这是一个问题:

  
    

编写一个接受String和整数拉伸的Java程序     因子P作为参数,用k个副本替换每个元素     那个元素。例如,如果名为list的变量存储     元素[hi,how,are,you?],然后是stretch的调用(list,3);它     会存储[hi,hi,hi,how,how,how,are,是,是吗?,你?,你?)。如果     传递拉伸因子为0或更小,列表为空。在     在这种情况下,打印“EMPTY”您可以假设输入列表永远不会     是空的。样品输入:3你好,你好吗?样品输出:嗨嗨怎么样     你怎么样?您?你呢?

  

这是我的代码:

class stretchF{
public static void main(String args[]){
    Scanner sc=new Scanner(System.in);
    int b=sc.nextInt();
    String s=sc.nextLine();
    String[] splited=s.split("\\s");
  if(b<1){
      System.out.print("EMPTY");
  }else{
      for(int i=0;i<splited.length;i++){
        for(int j=0;j<b;j++){
            System.out.print(splited[i]+" ");
        }
    }
  }

}

}

现在我已经编辑了代码

但仍然没有通过输出测试用例!

但它没有给出正确的输出!

请告诉我应该做些什么改变才能完成这项工作?

1 个答案:

答案 0 :(得分:0)

尝试更改您的代码:

 for(int i=0;i<=b;i++){
            for(int j=0;j<b;j++){
                System.out.print(splited[i]+" ");
            }
        }

成:

 for(int i=0;i<splited.length;i++){
            for(int j=0;j<b;j++){
                System.out.print(splited[i]+" ");
            }
        }

您希望外部for循环遍历每个元素,但您没有给出正确的范围。 (splited.length)

另外,您需要检查b案例的print "EMPTY"值。

用下面的代码替换扫描仪代码。

    Scanner sc = new Scanner(System.in);
    System.out.println("String is:");
    String s = sc.nextLine();
    System.out.println("Number is:");
    int b = sc.nextInt();