【问题标题】:How to implement string length method in Java如何在Java中实现字符串长度方法
【发布时间】:2015-03-01 03:18:03
【问题描述】:

我是新来的,对编程非常陌生。实际上,我现在正在参加 Java 编程入门课程,而我的老师并不是很有帮助,所以我只想让其他人帮助我解决这个问题。任何事情都会受到赞赏。我的程序旨在根据用户在控制台中输入的内容生成 ISBN-10 号码。用户在控制台中输入 9 个数字。我试图让程序做的是测量输入字符的长度,如果它不等于 9,那么它会说“你必须输入 9 个数字”。这是我所拥有的:

    Scanner input = new Scanner(System.in);
    System.out.println("Enter 'C' for console generation of an ISBN, or 'R' for a random generation of an ISBN:");
    String letter = input.next().toLowerCase();

    if (letter==c) {
        System.out.println("Enter the first 9 digits of an ISBN:");
        int d1 = input.nextInt();
        int d2 = input.nextInt();
        int d3 = input.nextInt();
        int d4 = input.nextInt();
        int d5 = input.nextInt();
        int d6 = input.nextInt();
        int d7 = input.nextInt();
        int d8 = input.nextInt();
        int d9 = input.nextInt();
        int numbers = (d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9);

        int d10 = (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11;
        if (d10 == 10) {
            System.out.println("Console generated ISBN-10 is " + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + "X");
        }
        else if (numbers.length() != 9) {

        System.out.println("You need to enter exactly 9 digits");
        System.exit(2);
        }

感谢您的帮助!!!

【问题讨论】:

  • 它的作用与您的预期有何不同?
  • 它实际上并没有工作。它说“else if (numbers.length() !=9)”的地方说这是错误的。整行下面有一条红线,它不起作用,因为 length() 方法只有在里面有一个字符串而不是 int 时才起作用。我只是不知道如何解决这个问题。
  • 当您的代码到达int numbers = (d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9); 时,用户已经准确输入了 9 个数字。这就是您可以删除 numbers 变量以及 if 部分的原因。
  • 还有,应该是if (letter.equals("c"))
  • 但是如果输入的数字数量不等于9,我不需要if语句吗?

标签: java string-length


【解决方案1】:

将您的代码更改为:

String numbers =  asString(d1) + asString(d2) + asString(d3) ......  + asString(d9);

同时添加这个功能:

private String asString(int num){
    return "" + num;
}

您可以使用此代码:

String d1 = input.next();

这将从用户那里得到输入作为一个字符串而不是一个整数

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2010-10-23
    • 2013-04-03
    • 1970-01-01
    相关资源
    最近更新 更多