0

我正在尝试创建一个程序,该程序从用户那里获取输入(假设 3 个单词)并输出第一个单词大写,第二个单词小写,第三个单词仅输出前两个字符。我不明白为什么第三个是整个打印加上前两个字符而不仅仅是前两个字符。非常感谢!到目前为止,我有这个:

import java.util.Scanner;

public class Words {

    public static void main (String[] args){

        Scanner keyboard = new Scanner(System.in);

        String line = keyboard.nextLine();

        String word1 = line.substring(0, line.indexOf(" ")).toUpperCase();
        String word2 = line.substring(line.indexOf(" ") +1).toLowerCase();
        String word3 = line.substring(line.lastIndexOf(" ")+1).substring(0, 
        ,2);

        System.out.println(word1 + " " + word2 + " " + word3);
    }

}

输出:

JAVA 很有趣

4

1 回答 1

2

你说

String word2 = line.substring(line.indexOf(" ") +1).toLowerCase();

这使得word2假设 的值is fun。此外,对于第 3 个单词,您说.substring(0,2)(因为子字符串的第二个数字不包含在内)它引入了fu,创建了输出JAVA is fun fu

另一种实现可能是仅按空格拆分字符串并将其轻松分配给三个变量。

于 2017-11-04T20:12:15.557 回答