我有一个字符串,希望重复这一点' l'在java中的时间

时间:2015-10-26 13:44:11

标签: java string integer

从循环中,我将获得l的值。 想象这个值是3。 因此,我想要一个字符串重复3次。这意味着我想要执行字符串* l,但这是不可能的,因为一个是字符串,一个是int。我确实需要重复l次字符串。

e.g。如果输入的字符串为"cat"l的结果为3,则会得到"catcatcat"的输出。 三江源

这是我的编码:

import java.util.Scanner;

public class Task2 { 
    public static void main (String[] args){
        Scanner kb=new Scanner(System.in); 


        System.out.println("Please give me a message:"); 

        String strMessage = ("^[?=.*!@#$%^&*]+$");
        strMessage=kb.nextLine();



        System.out.println("Thank you! Now please give me a keyword:"); 

        String strKeyword=kb.nextLine();    

        String strAlphabet= "abcdefghijklmnopqrstuvwxyz";

        double Intlength2 = strKeyword.length();
        double Intlength = strMessage.length(); 
        double Intlength3 = Intlength/Intlength2;
        Intlength3 = Intlength/Intlength2;

        for (int l=0; l<Intlength3; l++){ 

2 个答案:

答案 0 :(得分:6)

  1. 制作StringBuilder并附加字符串l

    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < l; ++i) {
        sb.append(string);
    }
    
    String result = sb.toString();
    
  2. 如果你使用Java 8,那么这个&#34;简单&#34;一个班轮:

    String result = IntStream.range(0, l).mapToObj(i -> string).collect(Collectors.joining());
    
  3. 使用Guava库的解决方案:

    String result = Strings.repeat(string, l);
    
  4. 使用Apache Commons库的解决方案:

    String result = StringUtils.repeat(string, l);
    
  5. 作为旁注,l不是一个好的变量名,因为它看起来像第一。

答案 1 :(得分:0)

以下是另外两个Java 8单行:

String result = Stream.generate(() -> "cat").limit(3).collect(Collectors.joining());
String result = Collections.nCopies(3, "cat").stream().collect(Collectors.joining());