微軟Java筆試題2014

這是2014年實習生的一道題,當我拿着這題的時候,以爲蠻簡單,但是當我動手動的時候就出問題了,也許有點緊張,當時一會兒就蒙了。事後重新看了這題,其實考的就是一些基礎中的小細節:一、將字符串正確的轉換爲整形。二、String中的函數應用。三、關於*-+特殊字符的掌握。四、總體思路要清晰。數組

首先將每組字符串利用運算符分隔並放到數組中ide

 1 Scanner input=new Scanner(System.in);
 2         int num=input.nextInt();        
 3         double []count=new double[num];            
 4         String []arr=new String[num];        
 5         for (int i = 0; i < num; i++) {
 6             System.out.println("輸入"+(i+1)+"表達式");
 7             arr[i]=input.next();
 8             if(arr[i].split("/").length!=1){
 9                 String []arr_=arr[i].split("/");                
10                 count[i]=Integer.parseInt(arr_[0])/Integer.parseInt(arr_[1]);                
11             }else if(arr[i].split("\\*").length!=1){
12                 String []arr_=arr[i].split("\\*");
13                 count[i]=Integer.parseInt(arr_[0])*Integer.parseInt(arr_[1]);
14             }else if(arr[i].split("\\-").length!=1){
15                 String []arr_=arr[i].split("\\-");
16                 count[i]=Integer.parseInt(arr_[0])-Integer.parseInt(arr_[1]);
17             }else{
18                 String []arr_=arr[i].split("\\+");
19                 count[i]=Integer.parseInt(arr_[0])+Integer.parseInt(arr_[1]);
20             }
21             
22         }

而後就是輸出了函數

 1 double[] sum=new double[num];
 2         for (int i = 0; i < num; i++) {
 3             if(count[i]>9||count[i]==9){
 4                 sum[i]=count[i]-9;
 5             }else{
 6                 sum[i]=9-count[i];
 7             }
 8         }
 9         double num1=sum[0];
10         for (int i = 1; i < num; i++) {
11             if(sum[i]<num1){
12                 num1=sum[i];
13             }
14         }    
15         for (int i = 0; i < num; i++) {
16             if(sum[i]==num1){
17                 System.out.println(i+1);
18                 break;
19             }
20         }
View Code

真的是細節決定高度....spa

相關文章
相關標籤/搜索