考察标准输入输出的题,很基础。
知识点:
next() 每次取到一个间隔符前面的数据 如: 输入 a b c 取值应该是a,因为a后面有空格 nextLine() 每次取一个换行符前面的数据 如:输入 a b c 回车,取值 就是a b c nextInt() 是取next() 然后把字符串解析成一个int数字。
import java.util.Scanner; public class Main{ /** * 2014微软编程1小时 第一题 */ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int index = 0; float min = 100; int min_index = 0;// 结果与9最接近的表达式索引 while (n != 0) { index++; n--; float a = in.nextInt(); String op = in.next(); float b = in.nextInt(); float ans = 0; switch (op) { case "+": ans = a + b; break; case "-": ans = a - b; break; case "*": ans = a * b; break; case "/": ans = a / b; break; default: break; } ans = Math.abs(ans - 9); if (ans < min) { min = ans; min_index = index; if (ans == 0) { break;// 找到等于9的,后面就不用再找了 } } } System.out.println(min_index); } }