zoukankan      html  css  js  c++  java
  • 今日头条笔试题-形式化算式

      2017-4-18笔试题解答

    形式化算式

    计算很简单,输出比较麻烦。输出我们需要对每个数字/符号单独输出。可以观察到,每个字符实际上都是一个矩阵,所以我们可以预处理出每个字符矩阵的样子,然后输出即可。

    代码如下:

      1 import java.text.DecimalFormat;
      2 import java.util.Scanner;
      3 
      4 import javax.script.ScriptEngine;
      5 import javax.script.ScriptEngineManager;
      6 import javax.script.ScriptException;
      7 
      8 public class x {
      9     static char [][]map;
     10 public static void main(String[] args) {
     11  
     12      
     13         ScriptEngineManager sem=new ScriptEngineManager();
     14             ScriptEngine engine=sem.getEngineByExtension("js");
     15             String s=new Scanner(System.in).nextLine();
     16             double result1;
     17             double result = 0;
     18             
     19             try {
     20                 result = Double.parseDouble(""+engine.eval(s));
     21                 DecimalFormat    df   = new DecimalFormat("########0.00");   
     22 
     23              
     24                   result1=Double.parseDouble(df.format(result)); 
     25                   if(Math.abs(result1-Math.floor( result1))>0.0001)
     26                   {
     27                       s+="="+ result1 ;
     28                   }
     29                   else{
     30                       s+="="+(new   Double(result1)).intValue();  ;
     31                   }
     32                   int len=0;
     33                   
     34                   for( int i=0; i<s.length(); i++)
     35                   {
     36                       char x=s.charAt(i);
     37                       if(x=='1')
     38                           len+=1;
     39                       else if(x=='.')
     40                           len+=2;
     41                       else if(x=='=')
     42                           len+=4;
     43                       else  
     44                           len+=3;
     45                     
     46                   }
     47                   map=new char [5][];
     48                  // System.out.println(s);
     49                   for( int i=0; i<5; i++)
     50                   {
     51                       map[i]=new char [len+2*(s.length()-1)];
     52                   }
     53                 //  System.out.println("len="+(len+2*(s.length()-1)));
     54                   for( int i=0; i<s.length(); i++)
     55                   {
     56                       draw(s.charAt(i));
     57                   }
     58             } catch (ScriptException e) {
     59                 // TODO Auto-generated catch block
     60                 e.printStackTrace();
     61             }
     62             for(int i=0;i<5;i++)
     63             {
     64                 for( int j=0; j<map[i].length; j++)
     65                 {
     66                          System.out.print(map[i][j]);
     67                 }
     68                  System.out.println("");
     69             }
     70           //  System.out.println(result);
     71         
     72 }
     73 
     74 static int f=0;
     75 private static void draw(char c) {
     76     // TODO Auto-generated method stub
     77     if(c=='1')
     78     {
     79         map[0][f]='*';
     80         map[1][f]='*';
     81         map[2][f]='*';
     82         map[3][f]='*';
     83         map[4][f]='*';
     84     }
     85      
     86         else if(c=='2')
     87         {
     88             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
     89             map[1][f]=' ';map[1][f+1]=' ';map[1][f+2]='*';
     90             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
     91             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]=' ';
     92             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
     93         }
     94         else if(c=='3')
     95         {
     96             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
     97             map[1][f]=' ';map[1][f+1]=' ';map[1][f+2]='*';
     98             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
     99             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]='*';
    100             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    101         }
    102         else if(c=='4')
    103         {
    104             map[0][f]='*';map[0][f+1]=' ';map[0][f+2]='*';
    105             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]='*';
    106             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    107             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]='*';
    108             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]='*';
    109         }
    110         else if(c=='5')
    111         {
    112             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    113             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]=' ';
    114             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    115             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]='*';
    116             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    117         }
    118         else if(c=='6')
    119         {
    120             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    121             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]=' ';
    122             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    123             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]='*';
    124             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    125         }
    126         else if(c=='7')
    127         {
    128             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    129             map[1][f]=' ';map[1][f+1]=' ';map[1][f+2]='*';
    130             map[2][f]=' ';map[2][f+1]=' ';map[2][f+2]='*';
    131             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]='*';
    132             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]='*';
    133         }
    134         else if(c=='8')
    135         {
    136             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    137             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]='*';
    138             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    139             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]='*';
    140             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    141         }
    142         else if(c=='9')
    143         {
    144             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    145             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]='*';
    146             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    147             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]='*';
    148             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    149         }
    150         else if(c=='0')
    151         {
    152             map[0][f]='*';map[0][f+1]='*';map[0][f+2]='*';
    153             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]='*';
    154             map[2][f]='*';map[2][f+1]=' ';map[2][f+2]='*';
    155             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]='*';
    156             map[4][f]='*';map[4][f+1]='*';map[4][f+2]='*';
    157         }
    158         else if(c=='+')
    159         {
    160             map[0][f]=' ';map[0][f+1]=' ';map[0][f+2]=' ';
    161             map[1][f]=' ';map[1][f+1]='*';map[1][f+2]=' ';
    162             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    163             map[3][f]=' ';map[3][f+1]='*';map[3][f+2]=' ';
    164             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]=' ';
    165         }
    166         else if(c=='-')
    167         {
    168             map[0][f]=' ';map[0][f+1]=' ';map[0][f+2]=' ';
    169             map[1][f]=' ';map[1][f+1]=' ';map[1][f+2]=' ';
    170             map[2][f]='*';map[2][f+1]='*';map[2][f+2]='*';
    171             map[3][f]=' ';map[3][f+1]=' ';map[3][f+2]=' ';
    172             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]=' ';
    173         }
    174         else if(c=='*')
    175         {
    176             map[0][f]=' ';map[0][f+1]=' ';map[0][f+2]=' ';
    177             map[1][f]='*';map[1][f+1]=' ';map[1][f+2]='*';
    178             map[2][f]=' ';map[2][f+1]='*';map[2][f+2]=' ';
    179             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]='*';
    180             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]=' ';
    181         }
    182         else if(c=='/')
    183         {
    184             map[0][f]=' ';map[0][f+1]=' ';map[0][f+2]=' ';
    185             map[1][f]=' ';map[1][f+1]=' ';map[1][f+2]='*';
    186             map[2][f]=' ';map[2][f+1]='*';map[2][f+2]=' ';
    187             map[3][f]='*';map[3][f+1]=' ';map[3][f+2]=' ';
    188             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]=' ';
    189         }
    190         else if(c=='=')
    191         {
    192             map[0][f]=' ';map[0][f+1]=' ';map[0][f+2]=' ';map[0][f+3]=' ';
    193             map[1][f]='*';map[1][f+1]='*';map[1][f+2]='*';map[1][f+3]='*';
    194             map[2][f]=' ';map[2][f+1]=' ';map[2][f+2]=' ';map[2][f+3]=' ';
    195             map[3][f]='*';map[3][f+1]='*';map[3][f+2]='*';map[3][f+3]='*';
    196             map[4][f]=' ';map[4][f+1]=' ';map[4][f+2]=' ';map[4][f+3]=' ';
    197         }
    198         else if(c=='.')
    199         {
    200             map[0][f]=' ';map[0][f+1]=' '; 
    201             map[1][f]=' ';map[1][f+1]=' '; 
    202             map[2][f]=' ';map[2][f+1]=' '; 
    203             map[3][f]='*';map[3][f+1]='*'; 
    204             map[4][f]='*';map[4][f+1]='*'; 
    205         }
    206         char x=c;
    207           if(x=='1')
    208               f+=3;
    209           else if(x=='.')
    210               f+=4;
    211           else if(x=='=')
    212               f+=6;
    213           else  
    214               f+=5;
    215      
    216     
    217 }
    218 }
  • 相关阅读:
    Handler使用总结(转)
    LR连接oracle数据库-lr_db_connect
    selenium2(WebDriver)环境搭建
    使用selenium控制滚动条(非整屏body)
    selenium-打开IE浏览器遇到问题记录
    使用re-sign.jar对apk进行重签名
    Robotium-无源码测试
    genymotion不能联网
    SQL 常用脚本
    todolist
  • 原文地址:https://www.cnblogs.com/douyamv/p/6730513.html
Copyright © 2011-2022 走看看