java基础训练题,几道java 初学题

1,几道java 初学题第5题public class hen{ public static void main(String args[]){for(int i=0;i<=20;i++){for(int j=0;j<=33;j++){if((5*i+3*j+(100-i-j)/3==100)&&((100-i-j)%3==0)){System.out.println("母鸡:"+i);System.out.println("公鸡:"+j);int temp=100-i-j;System.out.println("小鸡:"+temp);System.out.println();}}} }}【java基础训练题,几道java 初学题】
2 , 最基础的JAVA题乱打`package test;public class Arr{ /*** @param args*/ public static void main(String[] args) {// TODO Auto-generated method stubint arr[]=new int[20];arr[0]=0;arr[1]=1;for(int i=2;i<20;i++){arr[i]=arr[i-1]+arr[i-2];}for(int i=0;i<20;i++){System.out.print(" "+arr[i]);} }}输出结果:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
3 , java编程题目练习粗略写一下:1、建立一个图形类,包括两个成员函数:面积计算函数和周长计算函数(都是返回值为0得空函数) 。该类衍生出三个子类:圆、矩形、三角形 。这些子类都重新定义了父类中的面积函数和周长函数 。最后再建立一个包含main主函数的类 , 并在这个类对子类对象进行调用操作 。图形接口:public interface Figure { public int getArea(int width,int height); public int getGirth(int width,int height);}圆形子类:public class Circularity implements Figure { public int getArea(int width, int height) {return 0; } public int getArea(int r) {double area=3.14*r*r;return (int)area; } public int getGirth(int r) {double girth=2*3.14*r;return (int)girth; } public int getGirth(int width, int height) {return 0; }}矩形子类:public class Rectangle implements Figure { public int getArea(int width, int height) {int area=width*height;return area; } public int getGirth(int width, int height) {int girth=(width+height)*2;return girth; }}三角形子类:public class Trigon implements Figure { public int getArea(int width, int height) {int area=width*height/2;return area; } public int getGirth(int width, int height) {// TODO 自动生成方法存根return 0; }public int getGirth(int a,int b,int c) {int girth=a+b+c;return girth; }}测试类:public class Test { public static void main(String[] args) {//想调用哪个子类,就实例化哪个子类Circularity c=new Circularity();c.getArea(4);c.getGirth(4);}}1.可以建一个图形的抽象函数,两个方法使用抽象的 。其他的图形extends于这个类 。至于算面积和周长你应该会的 。2.冒泡排序等三个排序方法找笨编程的书就有,稍微修改就行 。3.求阶乘直接用循环就行了 。可以用int n=1;while(N){n=n*N;}剩下的你自己修改下就行了 。如果你想好好学好编程就自己动手实验,如果只想交作业敷衍了事 , 趁早转学其他的比较好 。你可以看一下这几个网站:http://www.csdn.com/http://www.csdn.nethttp://www.javaeye.com 不错的,保证有收获 。
4,要JAVA基础的一些练习题与参考答案一、问答题1、Java语言的数据类型有哪些?8答:有byte(字节型)、char(字符型)、boolean(布尔型)、short(短整型)、int(整型)、long(长整型)、浮点型:float(单精度)、double(双精度) 。2、写出算术运算符、关系运算符、逻辑运算符各自包含的运算符,写出条件运算符的形式,并简述其执行过程 。10答:算术运算符:++、--、+、-、*、/、%关系运算符:!=、>=、<=、>、<、==逻辑运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)条件运算符的形式:表达式1?表达式2:表达式3;3、数组有怎样的特征?写出一维数组两种初始化的语法格式(可使用具体的实例) 。10答:数组特征:数组有若干个元素;各元素有相同的数据类型;按一定的顺序排列;一维数组两种初始化的语法格式:int a[]=new int[2];a[0]=1;a[1]=2;或int a[];a[]=new int[2];a[0]=1;a[1]=2;int a[]=4、比较顺序表、栈、队列的异同点,分别写出冒泡法排序的主要特点 。12答:都运用数组的知识,都运用了方法调用;栈的特点是:冒泡法排序的主要特点:经过多轮循环,每一轮循环从最后一个元素依次与前面的元素比较大?。钪照业降淖钚≡嘏旁诘谝晃唬?第一轮循环终止;再依次进行下一轮循环 。二、编程题1、规定一个工人工作时间一月160小时,每小时工资5元,加班的话,每小时增加4元,请编程计算此工人一个月的工资,工作时间由键盘输入 。15import jaimport java.io.*;pubic class Qgrgz2、编程求解1—100中是7的倍数的数值的和 。15public class Qh3、输入3名学生4门课程的成绩 , 分别统计每个学生4门课程的平均成绩 。15import java.io.*;public class Pjf4、运用方法调用求一维数组中的最大元素及下标,在main方法中输入数组元素 。15import java.io.*;public class Qszzdys5、运用选择法对23,45,34,78,99 , 12,50,0这组数进行升序排列 。(选做题,做了加分 , 没做不减分)15public class Paixu以Singleton为例子Singleton模式主要作用是保证在Java应用程序中 , 一个类Class只有一个实例存在 。一般Singleton模式通常有几种种形式:第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话 , 通过一个public的getInstance方法获取对它的引用,继而调用其中的方法 。public class Singleton第二种形式: public class Singleton 内部类的实现方式package test;public classOuterClass继承时候类的执行顺序问题package test;public classFatherClass程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字 。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 。1.程序分析:关键是计算出每一项的值 。【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 " 。例如6=1+2+3.编程 找出1000以内的所有完数 。【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 【程序11】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4 。组成所有的排列后再去 掉不满足条件的排列 。【程序12】 题目:企业发放的奖金根据利润提成 。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分 , 可提成5%;40万到60万之间时高于40万元的部分,可提成 3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成 , 从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位 。注意定义时需把奖金定义成长整型 。【程序13】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果 。请看具体分析: 【程序14】 题目:输入某年某月某日 , 判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天 。【程序15】 题目:输入三个整数x,y,z,请把这三个数由小到大输出 。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小 。【程序16】 题目:输出9*9口诀 。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列 。【程序17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子 , 当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个 。以后每天早上都吃了前一天剩下 的一半零一个 。到第10天早上想再吃时,见只剩下一个桃子了 。求第一天共摘了多少 。1.程序分析:采取逆向思维的方法,从后往前推断 。【程序18】 题目:两个乒乓球队进行比赛,各出三人 。甲队为a,b,c三人,乙队为x,y,z三人 。已抽签决定比赛名单 。有人向队员打听比赛的名单 。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数 。【程序19】 题目:打印出如下图案(菱形) ** ****** ************ **************** ************ ****** ** 1.程序分析:先把图形分成两部分来看待 , 前四行一个规律,后三行一个规律 , 利用双重 for循环,第一层控制行,第二层控制列 。【程序20】 题目:有一分数序列:2/1,3/2,5/3,8/5 , 13/8 , 21/13...求出这个数列的前20项之和 。1.程序分析:请抓住分子与分母的变化规律 。【程序21】 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘 。【程序22】 题目:利用递归方法求5! 。1.程序分析:递归公式:fn=fn_1*4! 【程序23】 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁 。问第4个人岁数,他说比第3个人大2岁 。问第三个人,又说比第2人大两岁 。问第2个人,说比第一个人大两岁 。最后问第一个人,他说是10岁 。请问第五个人多大? 1.程序分析:利用递归的方法 , 递归分为回推和递推两个阶段 。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推 。【程序24】 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 。【程序25】 题目:一个5位数 , 判断它是不是回文数 。即12321是回文数,个位与万位相同,十位与千位相同 。【程序26】 题目:请输入星期几的第一个字母来判断一下是星期几 , 如果第一个字母一样,则继续 判断第二个字母 。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母 。【程序27】 题目:求100之内的素数 【程序28】 题目:对10个数进行排序 1.程序分析:可以利用选择法,即从后9个比较过程中 , 选择一个最小的与第一个元素交换 ,  下次类推 , 即用第二个元素与后8个进行比较,并进行交换 。【程序29】 题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出 。【程序30】 题目:有一个已经排好序的数组 。现输入一个数,要求按原来的规律将它插入数组中 。1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况 , 插入后此元素之后的数 , 依次后移一个位置 。【程序31】 题目:将一个数组逆序输出 。1.程序分析:用第一个与最后一个交换 。【程序32】 题目:取一个整数a从右端开始的4~7位 。程序分析:可以这样考虑: (1)先使a右移4位 。(2)设置一个低4位全为1,其余全为0的数 。可用~(~0 < <4) (3)将上面二者进行&运算 。【程序33】 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 【程序34】 题目:输入3个数a,b,c,按大小顺序输出 。1.程序分析:利用指针方法 。【程序35】 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组 。【程序36】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 【程序37】 题目:有n个人围成一圈 , 顺序排号 。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位 。【程序38】 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度 。【程序39】 题目:编写一个函数 , 输入n为偶数时 , 调用函数求1/2+1/4+...+1/n,当输入n为奇数时 , 调用函数1/1+1/3+...+1/n(利用指针函数) 【程序40】 题目:字符串排序 。【程序41】 题目:海滩上有一堆桃子 , 五只猴子来分 。第一只猴子把这堆桃子凭据分为五份,多了一个 , 这只猴子把多的一个扔入海中,拿走了一份 。第二只猴子把剩下的桃子又平均分成五份 , 又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 【程序42】 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数 。求??代表的两位数,及809*??后的结果 。【程序43】 题目:求0—7所能组成的奇数个数 。【程序44】 题目:一个偶数总能表示为两个素数之和 。【程序45】 题目:判断一个素数能被几个9整除 【程序46】 题目:两个字符串连接程序 【程序47】 题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的* 。【程序48】 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的 , 加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 。【程序49】 题目:计算字符串中子串出现的次数 【程序50】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud "中 。我个人觉得还是做项目学得最快,不要在这些基础东西上花太多的时间 。要往前走 , 你现在才走出了第一步,后面的路还长得很 。我有PHP的 , 要不要啊 。。。5 , 几个简单的java题我不会高手来悬赏啊 高分第一题:public class Apublic static void main(String[] args)int count=0;boolean b=false;for(int i=1;i<=100;i++)b=true;for(int j=2;j<i;j++)if(i%j==0)b=false;break;}}if(b==false)continue;}System.out.print(i+" ");count++;if(count%5==0)System.out.println();} }}第二题:public class Apublic static void main(String[] args)System.out.println(show(10)); } public static int show(int n)if(n==1)return 1;elsereturn n*show(n-1); }}第三题:public class Apublic static void main(String[] args)int[] temp=new int[10];temp[0]=temp[1]=1;for(int i=2;i<10;i++)temp[i]=temp[i-1]+temp[i-2];}for(int i=0;i<temp.length;i++)System.out.print(temp[i]+" ");} }}下面就不写了.1.素数 计算100内的素数传入参数100即可. public static void printPrime(int max)int j;int count = 1;for (int i = 2; i <= max; i++)j = 2;for (; j <= Math.sqrt(i); j++)if (i % j == 0)break;}}if (j > Math.sqrt(i))System.err.print(i + "\t");if (count % 5 == 0)System.err.println();}count++;}} }2.阶乘计算,计算10的阶乘,传入参数10即可.,返回值就是计算结果. public static int calculate(int n)int result = 1;if (n < 0)System.out.println("n的值必须大于0");return 0;} else if (n == 0)return 1;else if (n == 1)return 1;elsefor (; n > 1; n--)result *= n;}return result;} }3.斐波那契数列,参数max为显示的个数.显示前10个则传入参数10即可返回值为斐波那契数列 public static int[] getFibonacci(int max)int[] fib = new int[max];fib[0] = fib[1] = 1;for (int i = 2; i < max; i++)fib[i] = fib[i - 1] + fib[i - 2];}return fib; }//以上是现成有的..第四题..~再议吧.希望上面三个能帮上忙就好..这是很简单的题 , 就让我用C语言来回答吧!2.int fac(int n)static int f=1;f=f*n;ruturn(f);}main() int i;for(i=1;i<10;i++)printf("%d!=%d"\n,i,fac(i));}1.#include <math.h> main()int m,k,i,n=o;for(m=1;m<=100;m=m+2)k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1);printf("%d",m) ;n=n+1;}if(n%10==0)printf("\n");}printf("\n")}其实用JAVA 也是一样,只要是加一个类,换一下类名就可以用;学习需要自己实践,希望你变通一下 , 这些知识就可以变成自己的 。1>public class Apublic static boolean isPrime(int num)for (int i = 2; i < num; i++)if ((num % i) == 0)return false;}}return true;}public static void main(String[] args)int j=0;for(int i = 2; i <= 100; i++)if(isPrime(i))j++;System.out.print(i + " ");if(j%5==0)System.out.println();}}}}0和1就不写了2>public class Apublic static void main(String[] args)int i = 10;int sum=1;for(int k =1;k<=i;k++)sum*=k;}System.out.println(sum);}}3>public class Apublic static void main(String[] args)int[] array = new int[10];array[0]=array[1]=1;for(int i =2;i<10;i++)array[i]=array[i-1]+array[i-2];}for(int i = 0;i<array.length;i++)System.out.print(array[i]+"\t");}}}没时间了 。。有机会再写了//1题:ShuSu.javapublic class ShuSupublic static void main(String[] args)int k=0;arg:for (int i = 1; i <=100; i++)for (int j = 2; j <i;j++)if (i%j==0)continue arg;}}if (k%5==0)System.out.println();}System.out.print(i+"");k++;}} }2.//JieXien.javapublic class JieXienpublic static void main(String[] args)int sum=1;for (int i = 1; i <=10; i++)sum*=i;}System.out.println(sum); }3.//Buo.javapublic class Buopublic static void main(String[] args)int[] a=new int[10];a[0]=a[1]=1;for (int i =2 ; i < a.length; i++)a[i]=a[i-1]+a[i-2];}for (int i = 0; i < a.length; i++)System.out.print(a[i]+"");} }}4.import java.io.BufferedReader;import java.io.DataInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Date;public class Wannianlint year ,mouth;//表示一天的毫秒数long mofoneday=24*60*60*1000;//表示一个月的天数long days;Calendar calendar=Calendar.getInstance(); public Wannianl()this(2009,9); }public Wannianl(int year,int mouth)this.year=year;this.mouth=mouth;//设置星期天为一周的第一天//计算一个月的第一天是一个星期的第几天calendar.setFirstDayOfWeek(1);calendar.set(this.year,this.mouth-1, 1);//设置解释是宽松的//计算这个月有多少天calendar.setLenient(true);Calendar calendar1=Calendar.getInstance();if (this.mouth==12)System.out.println("Sf");calendar1.set(this.year+1,0,1);}elseSystem.out.println("Sf1");calendar1.set(this.year,this.mouth,1);}long i=calendar1.getTime().getTime()-calendar.getTime().getTime();//计算天数days=i/mofoneday;System.out.println(days);}public void show()System.out.println("星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");//m用于判断是否要换行int m=0;//填充这个月第一天以前的天数for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++)System.out.print("\t");if (++m%7==0)System.out.println();}}for (int i = 1; i <=days; i++)System.out.print(i+"\t");if (++m%7==0)System.out.println();}}} public static void main(String[] args)// TODO Auto-generated method stubBufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));System.out.println("如果输入异常,将按输出默认值(2009年9月)");System.out.println("请输入年(如2009)"); int year=2009,mouth=9; String tempString; tryif ((tempString=bufferedReader.readLine())!=null)year=Integer.parseInt(tempString);}System.out.println("请输入月(如9)");if((tempString=bufferedReader.readLine())!=null)mouth=Integer.parseInt(tempString);}new Wannianl(year,mouth).show(); } catch (NumberFormatException e)// TODO Auto-generated catch blocke.printStackTrace(); } catch (IOException e)// TODO Auto-generated catch blocke.printStackTrace(); }}}不能用这么多字 , 只能六个

    推荐阅读