我正在尝试打印出用户指定的字母数量。对于例如单词中的用户类型 - 马并指定要打印的字母数量 - 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;
}
}
}
答案 0 :(得分:1)
您应该使用Scanner.nextInt()
,而根本不需要循环。只需将0
从firPar
拨打至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)