您的位置:首页 > 编程语言 > Java开发

2014微软编程一小时 题目1 : Arithmetic Expression Java实现

2014-04-07 14:36 441 查看
原题地址

考察标准输入输出的题,很基础。

知识点:

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);
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: