打印出用户指定长度的第一部分

时间:2014-12-02 19:36:06

标签: java input while-loop

我正在尝试打印出用户指定的字母数量。对于例如单词中的用户类型 - 马并指定要打印的字母数量 - 4.输出应该显示结果:Hors。我必须使用子字符串方法。

我的程序摆脱了用户指定的字母并打印出其余部分。我怎样才能解决这个问题?

import java.util.Scanner;

public class FirstPart {

public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);
    System.out.println("Type a word: ");
    String word = reader.nextLine();
    System.out.println("Length of the first part: ");
    int firPar = Integer.parseInt(reader.nextLine());

    int i = 0;

    while (i <= firPar) {

        System.out.print("Result: " + word.substring(firPar));
        i++;
        break;
    }

}

}

2 个答案:

答案 0 :(得分:1)

您应该使用Scanner.nextInt(),而根本不需要循环。只需将0firPar拨打至public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("Type a word: "); String word = reader.nextLine(); System.out.println("Length of the first part: "); int firPar = reader.nextInt(); System.out.println("Result: " + word.substring(0, firPar)); } ,如

{{1}}

答案 1 :(得分:0)

System.out.print("Result: " + word.substring(0, firPar));

如果只为子字符串指定一个int,则它是起始索引(包括)。如果指定2个整数,则它是起始索引(包括)结束索引(不包括)。你也可以摆脱你的while循环。

substring(startIndex) //will take startIndex to length

substring(startIndex, endIndex) //will take startIndex (inclusive) to endIndex (exclusive)