JAVA:使用While循环打印字符的次数与读入的次数相同

时间:2012-10-06 20:41:50

标签: java

您好,我在计算机科学实验室工作简介中遇到了问题:

CharacterLine.java:编写一个打印一行字符的程序。提示用户输入字符然后询问号码。如果数字不是1或大于80,请告诉用户然后退出程序。使用while循环可以将字符打印出与读入的数字一样多的次数。 例: 请输入一个字符:& 请输入一个数字:15 你的专线:&&&&&&&&&&&&&&&&&

这是我的代码:

import java.util.Scanner;

public class CharacterLine

{
    public static void main(String[] args)
    {

        Scanner kb = new Scanner (System.in);
        int number;
        System.out.print("Please enter a character: ");
        String character = kb.next();
        int charact = character.length();

        System.out.print("Please enter a number: ");
        number = kb.nextInt();

        while ( number <= 80 && number >= 1 ){

            if ( number <= 80 && number >= 1 ) {
                int bills = (charact * number);
                System.out.println("Your line: " + charact++);
            }
            else {
                System.out.println("error.");
            }
            System.out.println();
            System.out.print("Please enter a number: ");
            number = kb.nextInt();
        }
        if ( number > 80 ){
            System.out.println("That number is too large");
        }
        else if ( number < 1 ){
            System.out.println("That number is too small");
        }
        else{
            System.out.println("error");
        }
    }
}

我在知道如何将用户输入的数字相乘并使输出的数量乘以用户输入的一个字母时遇到问题。

谢谢, 威廉

3 个答案:

答案 0 :(得分:3)

您可以使用循环迭代given次..并打印字符..

if ( number <= 80 && number >= 1 ) {

   char myChar = '*';

   // This while loop will run 15 times if value of number is 15..
   while(number > 0) {
        System.out.println(myChar);
        number--;   // Decrement the value of `number` by 1.
   }
}

以上while循环说:

  

当number的值大于0时,执行循环,然后执行   在其中打印语句。打印后,减少值   数字1,再次检查条件...继续   处理number > 0

答案 1 :(得分:0)

while(number>0){
            System.out.print(character);
            number--;
        }

答案 2 :(得分:0)

你误解了这个任务。你应该成倍增加。您应该使用while循环打印用户多次给出的某个字符。因此输入“a”和“4”将导致输出“aaaa”。