本题主要考察
- 使用
Scanner
处理输入 - 使用
System.out.printf
进行格式化输出 String
常用方法与字符串常用操作
main
输入说明:
- 输入
double
,然后输入3个浮点数。**输出:**从左到右依次输出3个double(均保留2位小数输出,宽度为5),**格式依次为:**右侧填充空格,左侧填充空格,直接输出 - 输入
int
,然后输入3个整数(以1个或多个空格分隔)。**输出:**将3个整数相加后输出。 - 输入
str
,然后输入3个字符串。**输出:**去除空格,然后倒序输出3个字符。 - 输入
line
,然后输入一行字符串。**输出:**转换成大写后输出。 - 如果输入不是上面几个关键词,输出:输出other。
输出说明
choice=你输入选项
该选项对应的输出内容
提示
- 可使用
line.split("\\s+");
将以1个或多个空格分隔开的字符串分割并放入字符串数组。 Scanner.nextLine
与Scanner的其他next函数混用有可能出错。
输入样例:
double
1.578 3.0 3.14259
line
aaaaaaaaaa
int
1 2 3
str
321 654 987
line
dddddddddd
end
输出样例:
choice=double
1.58 , 3.00,3.14
choice=line
AAAAAAAAAA
choice=int
6
choice=str
987654321
choice=line
DDDDDDDDDD
choice=end
other
答案
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String choice = scanner.next();
System.out.println("choice=" + choice);
if (choice.equals("double")) {
double a, b, c;
a = scanner.nextDouble();
b = scanner.nextDouble();
c = scanner.nextDouble();
System.out.printf("%-5.2f,%5.2f,%.2f\n", a, b, c);
} else if (choice.equals("int")) {
int a, b, c;
a = scanner.nextInt();
b = scanner.nextInt();
c = scanner.nextInt();
System.out.println(a + b + c);
} else if (choice.equals("str")) {
scanner.nextLine();
String str = scanner.nextLine();
String[] arr = str.split("\\s+");
for (int i = 2; i >= 0; i--) {
System.out.print(arr[i]);
}
System.out.println();
} else if (choice.equals("line")) {
scanner.nextLine();
String str = scanner.nextLine();
System.out.println(str.toUpperCase());
} else {
System.out.println("other");
}
}
}
}