Java经典企业面笔试题.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Java经典企业面笔试题.pdf》由会员分享,可在线阅读,更多相关《Java经典企业面笔试题.pdf(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java经典问题算法大全/*【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1 .程序分析:兔子的规律为数列1,1,2律,5,8,13,21.*/package .flywater.FiftyAlgorthm;public class First Rabbit public static final int MONTH=1 5;public static void main(String args)long f1=1L,f2=1 L;long f;for(int i=3;i MONTH
2、;i+)f=f2;f2=f1+f2;f1=f;System.out.printed”+i+”个月的兔子对数:”);System.out.printing M+f2);)/*【程序2】*作者若水飞天题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*/package .fly water.FiftyAlgorthm;public class Second Prim eNumber public static int count=0;public static void ma
3、in(String args)for(int i=101;i200;i+)boolean b=true;默认此数就素数for(int j=2;j=Math.sqrt(i);j+)if(i%j=O)b=false;此数不是素数break;)if(b)count+;System.out.print(i+”“);)System.out.printin(*n 素数的个数:H+count);)/*【程序3】作者若水飞天题目:打印出所有的“水仙花数(narcissus num ber),所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5
4、的三次方+3的三次方。1 .程序分析:利用fo r循环控制100-999个数,每个数分解出个位,十位,百位。*/package .flywater.FiftyAlgorthm;public class ThirdNarcissusNum static int b,bb,bbb;public static void main(String args)for(int num=101;num k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/package .flywater.FiftyAl
5、gorthm;import java.util.Scanner;public class FourthPrimeFactor static int n,k=2;public static void main(String args)Scanner s=new Scanner(System.in);n=s.nextlnt();System.out.print(n+”=);FourthPrimeFactor fpf=new FourthPrimeFactor();fpf.f(n);)public void f(int n)while(k k&n%k=0)System.out.print(k+”*”
6、);n=n/k;f(n);break;else if(n k&n%k!=0)k+;f(n);break;)/*【程序5】作者若水飞天题目:利用条件运算符的嵌套来完成此题:学习成绩 =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1 .程序分析:(ab)?a:b这是条件运算符的基本例子。*/package .fly water.Fifty Algorthm;import java.util.Scanner;public class FifthCondition/public static final int S1=90;/public static final int
7、S2=60;static int grade;public static void main(String args)Scanner str=new Scanner(System.in);int s=str.nextl nt();FifthCondition fc=new FifthCondition();grade=pare(s);if(grade=1)System.out.print(A);else if(grade=2)System.out.print(B);else Sy stem.out.print I n(,C,);)public int compare(int s)return
8、s 90?1:s 60?2:3;)/*【程序6】作者若水飞天题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。*/*在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回*较大的数,此数即为最小公约数,最小公倍数为两数之积除以最小公倍数。*/package .fly water.Fifty Algorthm;import java.util.Scanner;public class SixthCom monDiviser public static void ma
9、in(String args)int a,b;Scanner s1=new Scanner(System.in);Scanner s2=new Scanner(System.in);a=s1.nextl nt();b=s2.nextlnt();SixthCom monDiviser scd=new SixthCom mon Di viser();int m=scd.division(a,b);int n=a*b/m;System.out.printin(最大公约数:”+m);System.out.printin(最小公倍数:+n);)public int division(int x,int
10、y)int t;if(x y)t=x;x=y;y=t;while(y!=0)if(x=y)return 1;else int k=x%y;x=y;y=k;)return x;)/*【程序7】作者若水飞天题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1 .程序分析:利用while语句,条件为输入的字符不为,n*/package .flywater.FiftyAlgorthm;import java.util.*;public class SeventhCharacterStatistics static int digital=0;static int characte
11、r=0;static int other=0;static int blank=0;public static void main(String args)char ch=null;Scanner sc=new Scanner(Sy stem.in);String s=sc.nextLine();ch=s.toCharArray();for(int i=0;i=O&chi=W&chi A&chi=Z)character+;else if(chi=,)blank+;else other+;)System.out.printin(数字个数:+digital);System.out.printin(
12、英文字母个数:+character);System.out.println(空格个数:+blank);System.out.printin(其他字符个数:“+other);))/*【程序8】作者若水飞天题 目:求s=a+aa+aaa+aaaa+a a.a的 值,其 中a是 一 个 数 字。例如2+22+222+2222+22222(此时共有5个数相力U),儿个数相加有键盘控制。*算法:定义一个变量b,赋初值为0;定义一变量s u m,赋初值为0,*进入循环后,将a+b的值赋给b,将sum+b的值赋给sum;*同时,将a增加十倍,+i;继续循环;*循环结束后,输出sum的值。*/package
13、.fly water.Fifty Algorthm;import java.util.Scanner;public class EightPlus static long a=2,b=0;public static void main(String args)Scanner s=new Scanner(System.in);int n=s.nextlnt();int i=0;long sum=0;while(i n)b=b+a;sum=sum+b;a=a*1 0;+i;)System.out.printin(Input number:+n);System.out.println(sum);/*
14、【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为“完 数 例 如6=1+2+3.编程找出1000以内的所有完数。*/package .fly water.FiftyAlgorthm;public class NinthWanshu public static void main(String args)System.out.printing 1 至M 000 的完数有:);for(int i=1;i 1000;i+)int t=0;for(int j=1;j=i/2;j+)if(i%j=0)t=t+j;)if(t=i)System.out.print(i+);)/*【程序10作者若
15、水飞天题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?*/package .fly water.Fifty Algorthm;public class TenthTreeFall static double height=100;static double distance=100;public static void main(String args)for(int i=1;i 10;i+)distance=distance+height;height=height/2;)System.out.printin(路
16、程:+distance);System.out.printin(高度:+height/2);)/*【程序11*作者若水飞天题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。*/*算法:3个for循环加一个if语句;package .flywater.FiftyAlgorthm;public class Eleven th Number Range public static void main(String args)int count=0;for(int x=
17、1;x 5;x+)for(int y=1;y 5;y+)for(int z=1;z 0&profit 1 0&profit 20&profit 40&profit 60&profit 1 00)award=20*0.175+40*0.08+40*0.015+(profit-100)*0.01;)Decimal Format df=new Deci m al Form at(#0.00000*,);System.out.printin(应该提取的奖金是 +df.format(award)+万)/*【程序13*作者若水飞天题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方
18、数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:*/package .flywater.FiftyAlgorthm;public class ThirteenthTwiceSqrt public static void main(String args)for(long l=1 L;l 100000;l+)if(Math.sqrt(long)(l+100)%1 =0)if(Math.sqrt(long)(l+268)%1 =0)System.out.println(l+”加1 00
19、是一个完全平方数,再加168又是一个完全平方数”);)*【程序14*作者若水飞天题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加匕5天即本年的第儿天,特殊情况,闺年且输入月份大于3时需考虑多加一天。*/package .fly water.FiftyAlgorthm;import java.util.Scanner;import java.io.*;public class FourteenthYear Month Day public static void main(String args)int year,month,d
20、ay;int days=0;int d=0;FourteenthYearMonthDay fymd=new Fourteent h Year Mon t h Day();System.out.print(nlnput the year:*);year=fymd.input();System.out.print(Mlnput the month:*);month=fymd.input();System,out.print(I nput The Day:);day=fymd.input();if(year 0 11 month 1 2 11 day 31)Sy stem.out.printing
21、I nput error,please run this program again!*);System.exit(O);)for(int i=1;i v则将x与y的值进行交换,然后再用x与z进行比较,如果x z则将x与z的值进行交换,这样能使x最小。*/package .flywater.FiftyAlgorthm;import java.util.*;public class FifteenthNumberCompare public static void main(String args)FifteenthNumberCompare fnc=new FifteenthNumberCom
22、pare();int a,b,c;System.out.printlnClnput 3 numbers:*);a=fnc.input();b=fnc.input();c=fnc.input();/pare(a,b);方法调用不能通过改变形参的值来改变实参的值/pare(b,c);/这种做法是错的/pare(a,c);/System.out.printlnCresult:1+a+M+b+M n+c);/没有改变if(a b)int t=a;a=b;b=t;if(a c)int t=a;a=c;c=t;if(b c)int t=b;b=c;c=t;)System.out.println(a+“+b
23、+c);)public int input()int value=0;Scanner s=new Scanner(System.in);value=s.nextl nt();return value;)public void compare(int x,int y)此方法没用if(x y)int t=x;x=y;y=t;)/*【程序16*作者若水飞天*题目:输出9*9 口诀。*1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。*/package .flywater.FiftyAlgorthm;public class Sixteenth MultiplicationTable pub
24、lic static void main(String args)for(int i=1;i 10;i+)for(int j=1;jv=i;j+)System.out.print(j+i+j*i+”);)System.out.println();)/【程序17作者若水飞天题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。package .flywater.Fif
25、tyAlgorthm;public class Seventeenth Monkey Peach public static void main(String args)int lastdayNum=1;for(int i=2;i=10;i+)lastdayNum=(lastdayNum+1)*2;)System.out.println(猴子第一天摘了”+lastdayNum+个桃子”);)/*【程序18*作者若水飞天题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 经典 企业 笔试
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内