如何在Java中使用for循环重复字符串的字符

时间:2013-09-29 16:07:58

标签: java string concatenation

我正在试图弄清楚如何将一个单词作为用户的输入,然后以不同的格式返回相同的字符串。

例如,输入“dog”需要显示为

d
OO
GGG

我只能使用for语句,而不能使用if语句......并且程序应该只有2个方法,第二个应该返回一个值。

我知道如何从用户那里获取输入,但是我对如何返回格式如上的字符串感到有点迷失。

这是一个家庭作业问题,所以我不希望任何人给我答案。我真的只是卡住了,不知道下一步该做什么。这是一个基本的java 1类,所以我不能使用太复杂的东西。

到目前为止,这是我未完成的代码。我知道它有很多问题>。<

    import java.util.Scanner;

    public class Lab06Edit {

       public static void main(String[] args ) {
          Scanner keyboard = new Scanner(System.in);
          System.out.print("Enter a word:  ");
          String input = keyboard.next();

       wordAngle(input);
       System.out.print("" + wordAngle(input));

    }

       public static String wordAngle(String word) {
          String result = "";
          for (int i=0; i<=input.length(); i++) {
             System.out.println(input.charAt(i)*i +"\n");
          return result;
          }     
       }
    }

2 个答案:

答案 0 :(得分:0)

如果将char乘以整数而不是char,则会转换为ASCII代码,结果将为integer。你应该concat char String来产生你想要的结果。请查看下面的预期输出代码:

 public class Lab06Edit {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter a word:  ");
        String input = keyboard.next();
        wordAngle(input);
    }

    public static void wordAngle(String input) {
        for (int i = 0; i < input.length(); i++) {
            String result = "";
            for (int j = 0; j <= i; j++) {
                result += input.charAt(i);
            }
            System.out.println(result);
        }
    }
}

答案 1 :(得分:0)

多次打印信件

input.charAt(i)*i一开始有点令人惊讶,但你正试图多封一封信。不出所料,java不喜欢这个,并在将它乘以之前将字母转换为数字。因此(在删除一些错误之后)狗的输入给出输出。在某种程度上,这是Java的错误string + string

0      % d=100, 0*100=0

111    % 0=111 1*111=111

206    % g=103 2*103=206

如果你想多次打印一些东西,那么最简单的方法(不一定是最好的方法,但这毕竟是功课)就是把它放在for循环中,你可以使用System.out.print而不是System .out .println以避免前进。在你的情况下,for循环中的for循环。或者,您可以逐个构建一个字符串,并将它们+放在一个循环中(仍然不是最好但更好)并返回该字符串以在println语句中打印。试一试,看看你是否可以搞清楚,询问你是否需要更多提示。

数组长度

for (int i=0; i<=input.length(); i++)记住java中的所有内容都是零,所以如果某些内容的长度为3,则它包含元素0,1,2。您当前的代码有0,1,2,3。当您的代码到达神秘元素3时,它会返回String index out of range异常。

轻微错误

你把return语句放在for循环中,我假设一个错误,你也改变了从使用变量名字到输入,再次假设一个错字