1

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

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");
        }
    }
}

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

谢谢,威廉

4

3 回答 3

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 时,执行循环,并打印其中的语句。打印后,将 number 的值减 1,并再次检查条件……继续这个过程 whilenumber > 0

于 2012-10-06T20:46:32.507 回答
0
while(number>0){
            System.out.print(character);
            number--;
        }
于 2012-10-06T20:48:36.880 回答
0

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

于 2012-10-06T20:52:23.977 回答