美文网首页
浦发机试题目

浦发机试题目

作者: robtomb_ | 来源:发表于2019-03-21 21:37 被阅读0次

    超越姐姐镇楼,祝大家机试遇到你会的问题。


    祝我成功上岸

    1.大小写转换

    public static String upLowCase(String str){
            return str.toLowerCase();
        }
        
    public static String lowUpCase(String str){
            return str.toUpperCase();
        }
    

    2.1990年到2010年的闰年

        public static boolean isleapyear(int year){
            return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ;
        }
    
    

    3.判断一个数是否是质数

    public static boolean isprimenum(int num){
            if(num <= 3)
                return num > 1;
            for(int i = 2 ; i < num ; i++){
                if( num%i == 0)
                    return false;
            }
            return true;
        }
    
    

    4.输入一个数字要求输出该数字各个位上偶数的和,如输入5584,输出12

    public static int sum(String str){
            int sum = 0 ;
            for(int i = 0 ; i < str.length() ; i ++){
                int num = Integer.parseInt(str.charAt(i)+"");
                if( num % 2 == 0)
                    sum += num;
            }
            return sum;
        }
        public static void main(String args[]){
            Scanner scann = new Scanner(System.in);
            String str = scann.nextLine();
            scann.close();
            System.out.println(sum(str));
            
        }
    

    5.输入一组数N和数字b ,求出该组数字中能被b 整除的个数。如输入1 2 3 4 5 6和 2,结果输出为3

        public static int div(String str,int b){
            int count = 0 ;
            String [] strArr = str.split(" ");
            for(int i = 0 ; i < strArr.length ; i++ ){
                int num = Integer.parseInt(strArr[i]);
                if( num % b == 0)
                    count++;
            }
            return count;
        }
        public static void main(String args[]){
            Scanner scann = new Scanner(System.in);
            String str = scann.nextLine();
            int b = scann.nextInt();
            scann.close();
            System.out.println(div(str,b));
            
        }
    

    6.求N阶楼梯共有多少种上楼方式,每次只能上1个或2个台阶

        public static int palouti(int num){
            if(num == 0)
                return 0;
            if( num == 1)
                return 1;
            if( num == 2)
                return 2;
            return palouti(num-1)+palouti(num-2);
        }
    
    

    7.字符串反转

        public static String reverse(String str){
            StringBuffer buffer = new StringBuffer(str);
            return buffer.reverse().toString();
        }
        
    

    8.非完全平方数的判断

        public static boolean isSqrtNum(int num){
            int i = 1 ;
            while(num > 0){
                num -= i;
                i += 2;
            }
            return num == 0 ;
        }
        
        public static void main(String args[]){
            Scanner scann = new Scanner(System.in);
            int num = scann.nextInt();
            System.out.println(isSqrtNum(num));
            
        }
    

    9.输入一段话输出字的个数

    10.猴子吃桃子问题
    猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?

        public static int eatpeaches(int days){
            int sum = 1;
            for(int i = days ; i > 1 ; i-- ){
                sum = (sum+1)*2;
            }
            return sum;
        }
    

    11.给出一个字符串,由不同的单词用空格隔开的,然后呢,把这些单词的首字母取出并大写输出
    如输入:hello world,输出:HW,不过代码都是要求你实现多行输入的
    输出的,输入0则停止输入。

        public static String optionup(String str){
            String [] strarr = str.split(" ");
            String s = "";
            for(int i = 0 ; i < strarr.length ; i++){
                s += (strarr[i].charAt(0)+"").toUpperCase();
            }
            return s;
        }
        public static void main(String args[]){
        
            System.out.println(optionup("hello World!"));
            
        }
    

    12.1加2/3加3/5加4/7.......输出结果。(加号打不出来啊)
    //这里注意一下,什么进位方式

        public static double sumdb(int num){
            double db = 0.0d;
            for(int i = 1 ; i <= num ; i++){
                db += i / ((2.0 * i) - 1.0);
            }
            return db;
        }
        public static void main(String args[]){
        
            System.out.println(sumdb(2));
            
        }
    

    13.把字符串中的字符a和A换成c输出

        public static String replaceAC(String str){
            str = str.replaceAll("a","c");
            str = str.replaceAll("A","c");
            return str;
        }
    

    14.给你年月日,求出是这年的第几天

        public static int getdays(int year,int month,int day){
            int days = 0;
            
            switch(month - 1){
                case 12: days += 31;
                case 11: days += 30;
                case 10: days += 31;
                case 9: days += 30;
                case 8: days += 31;
                case 7: days += 31;
                case 6: days += 30;
                case 5: days += 31;
                case 4: days += 30;
                case 3: days += 31;
                case 2: days += 28;
                case 1: days += 31;
            }
            
            days += day;
            
            if( month > 2 && ((year % 4 == 0 && year % 100 != 0) || (year % 400 ==0) ))
                days ++;
            
            return days;
        }
        
        public static void main(String args[]){
        
            System.out.println(getdays(2019,2,1));
            
        }
    

    15.小球从100米下落,每次回弹一半距离,第几次落地后的总距离。

        public static double summiles(int count){
            double all = 100.0d;
            for( ; count > 0 ; count --){
                all /= 2.0;
            }
            return all;
        }
        public static void main(String args[]){
        
            System.out.println(summiles(1));
            
        }
    

    16.从求组中找出唯一出现一次得数。

        public static int unique(int [] numarr){
            for(int i = 0 ; i < numarr.length ; i++){
                int count = 0;
                for(int j = 0 ; j < numarr.length ; j ++){
                    if(numarr[i] == numarr[j])
                        count ++;
                }
                if(count == 1){
                    return numarr[i];
                }
            }
            return -1;
        }
        public static void main(String args[]){
        
            System.out.println(unique(new int[]{1,1,1,2,3,3}));
            
        }
    

    17.:A,B两个字符串,求在第一个字符串出现,第二个字符串中未出现的,重复只取第一次出现,输出字符串。

        public static String uniqueABstr(String stra,String strb){
            String newstr = "";
            for(int i = 0 ; i < stra.length() ; i ++){
                String s = stra.charAt(i) +"";
                if(!strb.contains(s))
                    newstr += s;
            }
            return newstr;
        }
        public static void main(String args[]){
        
            System.out.println(uniqueABstr("123","2"));
            
        }
    

    18.加密解密,就是给你由大写字母组成的字符串,求出原来的字符串,加密 。方式很简单就是字符串后移五位,比如原来是A加密后是F,其余数字等标点符号原样输出.

    凯撒密码 mod

    public static String kaisacode(String str){
            String newstr = "";
            for(int i = 0 ; i < str.length() ; i ++){
                char ch = str.charAt(i);
                
                if( ch >= 'a' && ch <= 'z')
                    newstr +=  (char)(( ch - 'a' + 5 ) % 26 + 'a'); 
    // 加密 +
                else if( ch >= 'A' && ch <= 'Z')
                    newstr +=  (char)(( ch - 'A' + 5 ) % 26 + 'A'); 
                else
                    newstr += ch;
            }
            return newstr;
        }
        
        public static void main(String args[]){
        
            System.out.println(kaisacode("A"));
            
        }
    

    19.输入abc d 输出abc d,就是去掉一个字符串最后的空格

        public static String trimkongge(String str){
            int i = str.length() - 1;
            for(; i > 0 ; i --){
                if(str.charAt(i) != ' ')
                    break;
            }
            return str.substring(0,i+1);
        }
    

    20.喝饮料问题,一块钱一瓶饮料,两个空瓶子换一瓶饮料
    求4块钱能和多少饮料

        public static int heyinliao(int num){
            int money = num;
            int ping = 0;
            int kongping = 0;
            while(money > 0){
                money --;
                ping ++;
                kongping ++;
                if(kongping == 2){
                    ping ++;
                    kongping = 0;
                    kongping ++;
                }
            }
            if(kongping == 2)
                ping++;
            return ping;
        }
    

    21阶乘求和

        public static int jiecheng(int num){
            if( num == 1)
                return 1;
            return jiecheng(num - 1) * num;
        }
        
        public static void main(String args[]){ 
            int sum = 0;
            int num = 2;
            for(int i = 1 ; i <= num ; i ++){
                sum += jiecheng(i);
            }
            System.out.println(sum);
            
        }
    

    相关文章

      网友评论

          本文标题:浦发机试题目

          本文链接:https://www.haomeiwen.com/subject/hvkhvqtx.html