08簡單推導:手機尾號評分

來源:互聯網
上載者:User

標籤:scanner   格式   highlight   手機   迴圈   資料   void   private   int   

【題目】 
30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品! 
給手機選個好聽又好記的號碼可能是許多人的心愿。 
但號源有限,只能輔以有償選號的方法了。 
這個程式的目的就是:根據給定的手機尾號(4位),按照一定的規則來打分。其規則如下: 
1. 如果出現連號,不管升序還是降序,都加5分。例如:5678,4321都滿足加分標準。 
2. 前三個數字相同,或後三個數字相同,都加3分。例如:4888,6665,7777都滿足加分的標準。 
注意:7777因為滿足這條標準兩次,所以這條規則給它加了6分。 
3. 符合AABB或者ABAB模式的加1分。例如:2255,3939,7777都符合這個模式,所以都被加分。 
注意:7777因為滿足這條標準兩次,所以這條標準給它加了2分。 
4. 含有:6,8,9中任何一個數字,每出現一次加1分。例如4326,6875,9918都符合加分標準。其中,6875被加2分;9918被加3分。 
尾號最終得分就是每條標準的加分總和! 
要求程式從標準輸入接收資料,在標準輸出上輸出結果。 
輸入格式為:第一行是一個整數n(<100),表示下邊有多少輸入行,接下來是n行4位一組的資料,就是等待計算加分的手機尾號。 
例如,輸入: 
14 
3045 
…. 
….. 
6789 
8866 
則輸出: 


…. 
… 

5

 public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        String[] sa = new String[n];        //迴圈擷取所有的手機尾號        for (int i = 0; i < n; i++) {            sa[i] = sc.next();        }        sc.close();        for (int i = 0; i < n; i++) {            System.out.println(handlerPN(sa[i]));        }    }    //對每一個手機尾號進行評分    private static int handlerPN(String s){        int result = 0;        char[] cc = s.toCharArray();        int[] ic = new int[cc.length];        for (int i = 0; i < ic.length; i++) {            ic[i] = cc[i] - ‘0‘;        }        //1、判斷是否存在連號        boolean lh = true;        for (int i = 0; i < ic.length-1; i++) {            if(Math.abs(ic[i+1]-ic[i]) != 1){                lh = false;                break;            }        }        if(lh){            result += 5;        }        //2、判斷前三後三是否相同        if((ic[0]==ic[1]&&ic[1]==ic[2])){            result += 3;        }        if((ic[1]==ic[2]&&ic[2]==ic[3])){            result += 3;        }        //3、判斷是否符合AABB或者ABAB        if(ic[0]==ic[1] && ic[2]==ic[3]){            result += 1;        }        if(ic[0]==ic[2] && ic[1]==ic[3]){            result += 1;        }        //4、是否出現6、8、9的數字        for (int i = 0; i < ic.length; i++) {            if(ic[i] == 6 || ic[i] ==8 || ic[i]==9){                result += 1;            }        }        return result;    }

  

import java.util.*;public class Lanq {    //1534    public static void main(String[] args) {        solve();        // check();    }    public static void solve() {        Scanner sc = new Scanner(System.in);        int test = sc.nextInt();        while (test-- > 0) {            String ans = sc.next();            int sum=0;           char  []a=new char[4];           a=ans.toCharArray();            if(a[0]+1==a[1]&&a[1]+1==a[2]&&a[2]+1==a[3])sum+=5;            if(a[0]-1==a[1]&&a[1]-1==a[2]&&a[2]-1==a[3])sum+=5;            if(a[0]==a[1]&&a[1]==a[2])sum+=3;            if(a[1]==a[2]&&a[2]==a[3])sum+=3;            if(a[0]==a[1]&&a[2]==a[3])sum+=1;            if(a[0]==a[2]&&a[1]==a[3])sum+=1;            if(a[0]==‘6‘||a[0]==‘8‘||a[0]==‘9‘)sum+=1;            if(a[1]==‘6‘||a[1]==‘8‘||a[1]==‘9‘)sum+=1;            if(a[2]==‘6‘||a[2]==‘8‘||a[2]==‘9‘)sum+=1;            if(a[3]==‘6‘||a[3]==‘8‘||a[3]==‘9‘)sum+=1;            System.out.println(sum);        }    }

  

08簡單推導:手機尾號評分

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.