浦发编程

1.输入一个数字要求输出该数字各个位上 能被2整除的数的和,如输入5584,输出12.

public class ABCTest {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		in.close();
		System.out.println(sum(str));
	}
	public static int sum(String str) {
		int sum = 0;
		for(int i=0;i

 

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

public class ABCTest {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		int b = in.nextInt();
		in.close();
		System.out.println(div(str,b));
	}
	public static int div(String strArr,int b) {
		int count = 0;
		String[] str = strArr.split(" ");
		for(int i=0; i

 

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

public class ABCTest {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		System.out.println(stairs(n));
	}
	public static int stairs(int num) {
		if(num==0)
			return 0;
		if(num==1)
			return 1;
		if(num==2)
			return 2;
		return stairs(num-1)+stairs(num-2);
	}
}

 

4.求字符串的反转

public class ABCTest {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		in.close();
		System.out.println(reverse(str));
	}
	public static String reverse(String str) {
		if(str==null)
			return null;
		StringBuffer buffer = new StringBuffer(str);
		return buffer.reverse().toString();
	}
}

 

5. 所有阶乘的求和

public class ABCTest {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int sum = 0;
		for(int i=0;i

 

6.给定一个字符串,由不同的单词用空格隔开的,把这些单词的首字母取出并大写输出。要求实现多行输入,输入0则停止输入。

 如:hello world,输出:HW。

public class ABCTest {
	public static void main(String[] args) {
		System.out.println("请输入内容,输入0结束:");
        Scanner sc = new Scanner(System.in);
        String str = "";
        List str_list = new ArrayList();
        str = sc.nextLine();
        while(str!=null && !str.equals("0")) {
        	str_list.add(str);
        	str = sc.nextLine();
        	
        }
        Acronym(str_list);
	}
	public static void Acronym(List list) {
		for(int i=0;i

 

7.输入十个数,最大数和最后一个数交换,最小数和第一个数交换。

public class ABCTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[10];
		for(int i=0;i<10;i++)
			arr[i] = sc.nextInt();
		int max=arr[0], min=arr[0];
		int t1=0,t2=0;
		for(int i=1;i<10;i++) {
			if(min>arr[i]) {
				min = arr[i];
				t1=i;
			}
			if(max

 

8.猴子吃桃子:

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

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

 

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

public class ABCTest {
	public static void main(String[] args) {
		String str1,str2;
		Scanner sc = new Scanner(System.in);
		str1 = sc.nextLine();
		str2 = sc.nextLine();
		System.out.println(appearedOnce(str1,str2));
	}
	public static String appearedOnce(String str1,String str2) {
		String str = "";
		if(str1==null)
			return null;
		if(str2==null)
			return str1;
		for(int i=0;i

 

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

public class ABCTest {
	public static void main(String[] args) {
		String str;
		Scanner sc = new Scanner(System.in);
		str = sc.nextLine();
		str = str.replaceAll("a", "c");
		str = str.replaceAll("A", "c");
		System.out.println(str);
	}
}

 

11.给你年月日,求出这个这年的哪一天?

public class ABCTest {
	public static void main(String[] args) {
		System.out.println(getdays(2019,4,5));
	}
	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;
	}
}

 

12. 判断一个 数是否是素数。

	public static boolean isprimenum(int num) {
		if(num<=3)
			return num>1;
		for(int i=2;i

 

13.判断从1990到2010年中的瑞年?并打印

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

 

14.判断是否为完全平方数

public class ABCTest {
	public static boolean isSqrtNum(int num) {
		int i=1;
		while(num>0) {
			num -= i;
			i += 2;
		}
		return num==0;
	}
}

 

15. 小球从100米下落,每次回弹一半距离,第count次落地后的在这之间小球弹跳的总距离。

public class ABCTest {
	public static double summiles(int count) {
		double all = 100.0d;
		for(;count>0;count--)
			all /= 2.0;
		return all;
	}
}

 

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

public class ABCTest {
	public static int unique(int[] numarr) {
		for(int i=0;i

 

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

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

 

18.喝饮料问题,一块钱一瓶饮料,两个空瓶子换一瓶饮料
求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;
    }

 

你可能感兴趣的:(笔试遇到的题)