当前位置:文档之家› java经典小程序,java入门100例!

java经典小程序,java入门100例!

java经典小程序,java入门100例!
java经典小程序,java入门100例!

1,编写程序,判断给定的某个年份是否是闰年。

闰年的判断规则如下:

(1)若某个年份能被4整除但不能被100整除,则是闰年。

(2)若某个年份能被400整除,则也是闰年。

import java.util.Scanner;

class Bissextile{

public static void main(String[] arge){

System.out.print("请输入年份");

int year; //定义输入的年份名字为“year”

Scanner scanner = new Scanner(System.in);

year = scanner.nextInt();

if (year<0||year>3000){

System.out.println("年份有误,程序退出!");

System.exit(0);

}

if ((year%4==0)&&(year%100!=0)||(year%400==0))

System.out.println(year+" is bissextile");

else

System.out.println(year+" is not bissextile ");

}

}

2,给定一个百分制的分数,输出相应的等级。

90分以上A级

80~89 B级

70~79 C级

60~69 D级

60分以下E级

import java.util.Scanner;

class Mark{

public static void main(String[] args){

System.out.println("请输入一个分数");

//定义输入的分数为“mark”,且分数会有小数

double mark;

Scanner scanner = new Scanner(System.in);

mark = scanner.nextDouble();

//判断是否有输入错误。

if(mark<0||mark>100){

System.out.println("输入有误!");

System.exit(0);

}

/*判断分数的等级

90分以上者A级,80~89分者B级,70~79分者C级,60~69者D级,60分以下E级*/

if (mark>=90) System.out.println("this mark is grade \'A\' ");

else if (mark>=80) System.out.println("this mark is grade \'B\' ");

else if (mark>=70) System.out.println("this mark is grade \'C\' ");

else if (mark>=60) System.out.println("this mark is grade \'D\' ");

else System.out.println("this mark is grade \'E\' ");

}

}

3,编写程序求1+3+5+7+……+99 的和值。

class he{

public static void main(String[] args){

int number = 1; //初始值1,以后再+2递增上去

int sum = 0;

for ( ; number <100; number+=2 ){ sum += number; }

System.out.println("1+3+5+7+……+99= " +sum);

}

}

4、利用for循环打印9*9 表?

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

//循环嵌套,打印九九乘法表

public class NineNine{

public static void main(String[]args){

System.out.println();

for (int j=1;j<10;j++){

for(int k=1;k<10;k++) { //老师的做法,判断语句里的k<=j,省去下列的if语句。

if (k>j) break; //此处用continue也可以,只是效率低一点

System.out.print(" "+k+"X"+j+"="+j*k);

}

System.out.println();

}

}

}

6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,

例如:153 = 1*1*1 + 3*3*3 + 5*5*5

class DafodilNumber{

public static void main(String[] args){

System.out.println("以下是所有的水仙花数");

int number = 100; // 由于水仙花数是三位数,故由100开始算起

int i, j, k; // i j k 分别为number 的百位、十位、个位

for (int sum; number<1000; number++){

i=number/100; j=(number-i*100)/10; k=number-i*100-j*10;

sum=i*i*i+j*j*j+k*k*k;

if (sum==number) System.out.println(number+" is a dafodil number! ");

}

}

}

7、求a+aa+aaa+.......+aaaaaaaaa=?

其中a为1至9之中的一个数,项数也要可以指定。

import java.util.Scanner;

class Multinomial{

public static void main(String[] args){

int a; //定义输入的a

int howMany; //定义最后的一项有多少个数字

Scanner scanner = new Scanner(System.in);

System.out.println("请输入一个1~9 的a 值");

a = scanner.nextInt();

System.out.println("请问要相加多少项?");

howMany = scanner.nextInt();

int sum=0;

int a1=a; // 用来保存a 的初始值

for (int i=1; i<=howMany; i++){

sum+= a;

a = 10*a +a1; // 这表示a 的下一项

// 每次a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。

}

System.out.println("sum="+sum);

}

}

8、求2/1+3/2+5/3+8/5+13/8.....前20项之和?

class Sum{

public static void main(Sting[] args){

double sum=0;

double fenZi=2.0, fenMu=1.0; //初始的分子(fenZi)=2,分母(fenMu)=1

for(int i=1; i<=20; i++){

sum += fenZi / fenMu ;

fenMu = fenZi; //下一项的分母=上一项的分子

fenZi += fenMu; //下一项的分子=上一项的分子加分母}

System.out.println("sum= "sum);

}

}

9、利用程序输出如下图形:

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

class Asterisk{

public static void main(String[] args){

for (int i=1; i<=13; i+=2){

for(int j=1; j<=i && i+j<= 14; j++){System.out.print("* ");}

System.out.println(); // 换行

}

}

}

11、计算圆周率

PI=4-4/3+4/5-4/7.......

打印出第一个大于3.1415小于3.1416的值

class Pi {

public static void main(String[] args){

double pi =0; //定义初始值

double fenZi = 4; //分子为4

double fenMu = 1; //第一个4,可看作分母为1 的分式,以后的分母每次递增2

for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确度小些

pi += (fenZi/fenMu) ;

fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 ....

fenMu += 2.0; //分母的变化是1,3,5,7,.... 每项递加2

}

System.out.println(pi);

}

}

输出结果为pi = 3.1415926525880504,应该不精确

12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值

1 1

2

3 5 8 13 21 34

规律:一个数等于前两个数之和

//计算斐波那契数列(Fibonacci)的第n个值

public class Fibonacci{

public static void main(String args[]){

int n = Integer.parseInt(args[0]);

int n1 = 1;//第一个数

int n2 = 1;//第二个数

int sum = 0;//和

if(n<=0){

System.out.println("参数错误!");

return;

}

if(n<=2){

sum = 1;

}else{

for(int i=3;i<=n;i++){

sum = n1+n2;

n1 = n2;

n2 = sum;

}

}

System.out.println(sum);

}

}

//计算斐波那契数列(Fibonacci)的第n个值

//并把整个数列打印出来

public class FibonacciPrint{

public static void main(String args[]){

int n = Integer.parseInt(args[0]);

FibonacciPrint t = new FibonacciPrint();

for(int i=1;i<=n;i++){

t.print(i);

}

}

public void print(int n){

int n1 = 1;//第一个数

int n2 = 1;//第二个数

int sum = 0;//和

if(n<=0){

System.out.println("参数错误!");

return;

}

if(n<=2){

sum = 1;

}else{

for(int i=3;i<=n;i++){

sum = n1+n2;

n1 = n2;

n2 = sum;

}

}

System.out.println(sum);

}

}

13、求1-1/3+1/5-1/7+1/9......的值。

a,求出前50项和值。

b,求出最后一项绝对值小于1e-5的和值。

15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:

*

***

*****

*******

*********

//打印金字塔图案

public class PrintStar{

public static void main(String args[]){

int col = Integer.parseInt(args[0]);

for(int i=1;i<=col;i++){//i表示行数

//打印空格

for(int k=0;k

System.out.print(" ");

}

//打印星星

for(int m=0;m<2*i-1;m++){

System.out.print("*");

}

System.out.println();

}

}

}

16、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和打印出所有的可能

//任何一个大于六的偶数可以拆分成两个质数的和

//打印出所有的可能

public class Gedebahe{

public static void main(String args[]){

int num = Integer.parseInt(args[0]);

if(num<=6){

System.out.println("参数错误!");

return;

}

if(num%2!=0){

System.out.println("参数错误!");

return;

}

Gedebahe g = new Gedebahe();

//1不是质数,2是偶数,因此从3开始循环

for(int i=3;i<=num/2;i++){

if(i%2==0){//如果为偶数,退出本次循环

continue;

}

//当i与num-i都为质数时,满足条件,打印

if(g.isPrime(i) && g.isPrime(num-i)){

System.out.println(i+" + "+(num-i)+" = "+num);

}

}

}

第4章数组

1. 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,

最小值,平均值,和值,并输出出来。

class ArrayNumber{

public static void main(String[] args){

int[] arrayNumber;

arrayNumber = new int[10];

System.out.println("以下是随机的10个整数:");

// 填入随机的10个整数

for (int i =0; i

arrayNumber[i] = (int)(100*Math.random());

System.out.print(arrayNumber[i]+" ");

}

System.out.println();

int max = arrayNumber[0];

int min = arrayNumber[0];

int sum = 0;

for (int i =0; i

if(max < arrayNumber[i])

max = arrayNumber[i]; //求最大值

if(min > arrayNumber[i])

min = arrayNumber[i]; //求最小值

sum += arrayNumber[i];

}

System.out.println("其中Max="+max+",Min="+min+",Sum="+sum+",A vg="+sum/10.0);

}

}

2.定义一个int型的一维数组,包含10个元素,分别赋值为1~10,然后将数组中的元素都向前移一个位置,

即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。

3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数,

将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。

4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。

5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值

为5,4,3,2,1。

6,要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。

class Remain{

public static void main( String[] args){

int[] a = new int[100];

//保存100个随机4位数到a 中

for (int i = 0; i < a.length; i++){

a[i] = (int) (1000*Math.random());

}

//统计a 数组中的元素对10 求余的各个的数目

int[] b = new int[10];

int k,sum;

for (int j = 0; j < b.length; j++){

for (k=0,sum=0; k < a.length; k++){

if ((a[k]%10)==j) sum++;

}

b[j] = sum;

System.out.printf("b[%d]=%d\n",j,b[j]);

}

}

}

7,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。

(1)循环给二维数组的每一个元素赋0~100之间的随机整数。

(2)按照列表的方式输出这些学员的每门课程的成绩。

(3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。

(4)要求编写程序求所有学员的某门课程的平均分。

class Student{

public static void main(String[] args ){

int[][] mark = new int[20][5];

// 给学生赋分数值,随机生成

for ( int i = 0; )

}

}//未完成

8,完成九宫格程序

在井字形的格局中(只能是奇数格局),放入数字(数字由),使每行每列以及斜角线的和都相等

经验规则:从1 开始按顺序逐个填写; 1 放在第一行的中间位置;下一个数往右上角45度处填写;

如果单边越界则按头尾相接地填;如果有填写冲突,则填到刚才位置的底下一格;

如果有两边越界,则填到刚才位置的底下一格。

个人认为,可以先把最中间的数填到九宫格的最中间位置;再按上面的规则逐个填写,而且

填的时候还可以把头尾对应的数填到对应的格子中。(第n 个值跟倒数第n 个值对应,格局上以最中

间格为轴心对应)

这样就可以同时填两个数,效率比之前更高;其正确性有待数学论证(但多次实验

之后都没发现有错)。

九宫格的1 至少还可以填在另外的三个位置,只是接下来的填写顺序需要相应改变;

再根据九宫格的对称性,至少可以有8种不同的填写方式

import java.util.Scanner;

class NinePalace{

public static void main(String[] args){

// 定义N 为九宫格的行列数,需要输入

System.out.println("请输入九宫格的行列规模(只能是奇数的)");

Scanner n = new Scanner(System.in);

int N;

//判断格局是否奇数(可判断出偶数、负数及小数)

double d;

while (true){

d = n.nextDouble();

N = (int)d;

if ((d-N)>1.0E-4||N%2==0||N<0)

{System.out.println("输入出错,格局只能是正奇数。请重新输入");} else break;

}

//老师的九宫格填写方法

int[][] result = new int[N][N]; //定义保存九宫格的数组

int row = 0; //行初始位置

int col = N/2; //列初始位置,因为列由0开始,故N/2是中间位置

for (int i=1; i<=N*N; i++){

result [row][col] = i;

row--;

col++;

if (row<0&&col>=N){col--;row+=2;} //行列都越界

else if (row<0){ row = N-1;} //行越界

else if (col>=N){col = 0;} //列越界

else if (result[row][col] != 0){col--;row+=2;} //有冲突

}

//打印出九宫格

for (int i=0; i

for(int j=0; j

System.out.println();

}

//我个人的填格方式

int[][] result2 = new int[N][N]; //为免冲突,重新new 一个数组

result2[N/2][N/2] = (N*N+1)/2; //先把中间值赋予中间位置

row = 0; //定义行及列的初始赋值位置。之前赋值的for对两个值有影响,故需重新定位

col = N/2;

for (int i=1; i<=N*N/2; i++){

result2[row][col] = i;

//下面这句是把跟i 对应的值放到格局对应的位置上

result2[N-row-1][N-col-1] = N*N+1-i;

row--;

col++;

if (row<0){ row = N-1;} //行越界

else if (col>=N){col = 0;} //列越界

else if (result2[row][col] != 0){col--;row+=2;} //有冲突

//这方法不可能出现行列两边都越界的情况,详情需要数学论证

}

System.out.println();

//再次打印出九宫格,以对比验证

for (int i=0; i

for(int j=0; j

System.out.println();

}

}

}

9,求一个3*3矩阵对角线元素之和

10,打印杨辉三角

11. 约梭芬杀人法

把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。

11_2、用数组实现约瑟夫出圈问题。n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,求出所有人的出圈顺序。

12. 判断随机整数是否是素数

产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是?

public class PrimeTest{

public static void main(String args[]){

for(int i=0;i<100;i++){

int num = (int)(Math.random()*1000);

PrimeTest t = new PrimeTest();

if(t.isPrime(num)){

System.out.println(num+" 是素数!");

}else{

System.out.println(num+" 不是素数!");

}

System.out.println();

}

}

public boolean isPrime(int num){

for(int i=2;i<=num/2;i++){

if(num%i==0){

System.out.println(num+"第一个被"+i+"整除!");

return false;

}

}

return true;

}

}

冒泡排序法:

//按从大到小的排序

int tmp = a[0];

for (int i=0; i < a.length; i++){

for (int j=0; j < a.length - i -1; j++){

if (a[j] < a[j+1]) {

tmp = a[j];

a[j] = a[j+1];

a[j+1] = tmp;

}

}

}

day06 练习

某公司的雇员分为以下若干类:

Employee:这是所有员工总的父类,属性:员工的姓名和生日月份。

方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。

SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5倍工资发放

属性:每小时的工资、每月工作的小时数

SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定属性:月销售额、提成率

BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,

工资由底薪加上销售提成部分属性:底薪。

public class TestEmployee{

public static void main(String[]args){

Employee[] es = new Employee[5];

es[0] = new Employee("赵君",2);

es[1] = new SalariedEmployee("宋婕", 1, 8000);

es[2] = new HourlyEmployee("王超", 5, 10, 300);

es[3] = new SalesEmployee("秋娥", 2, 200000, 0.05);

es[4] = new BaseSalarySalesEmployee("郭镫鸿", 1, 1000000, 0.1, 10000);

int month = 2;//本月为2月

System.out.println("宇宙集团"+month+"月工资表:");

for(int i=0; i

System.out.println(es[i].getName()+":"+es[i].getSalary(month));

}

}

}

class Employee{

private String name;

private int birth;

public String getName(){

return name;

}

public Employee(String name, int birth){

https://www.doczj.com/doc/9111760866.html, = name;

}

public double getSalary(int month){

if(month==birth){

return 100;

}

return 0;

}

}

class SalariedEmployee extends Employee{

private double salary;

public SalariedEmployee(String name, int birth, double salary){

super(name, birth);

this.salary = salary;

}

public double getSalary(int month){

return salary + super.getSalary(month);

}

}

class HourlyEmployee extends Employee{

private double hourSalary;

private int hour;

public HourlyEmployee(String name, int birth, double hourSalary, int hour){ super(name, birth);

this.hourSalary = hourSalary;

this.hour = hour;

}

public double getSalary(int month){

if(hour<=160){

return hourSalary*hour+super.getSalary(month);

}else{

return 160*hourSalary+(hour-160)*hourSalary*1.5+super.getSalary(month);

}

}

}

class SalesEmployee extends Employee{

private double sales;

private double pre;

public SalesEmployee(String name, int birth, double sales, double pre){

super(name, birth);

this.sales = sales;

}

public double getSalary(int month){

return sales*pre+super.getSalary(month);

}

}

class BaseSalarySalesEmployee extends SalesEmployee{

private double baseSalary;

public BaseSalarySalesEmployee(String name, int birth, double sales, double pre, double baseSalary){

super(name, birth, sales, pre);

this.baseSalary = baseSalary;

}

public double getSalary(int month){

return baseSalary+super.getSalary(month);

}

}

/**

* 在原有的雇员练习上修改代码

* 公司会给SalaryEmployee每月另外发放2000元加班费,给

* BasePlusSalesEmployee发放1000元加班费

* 改写原有代码,加入以上的逻辑

* 并写一个方法,打印出本月公司总共发放了多少加班费

* @author Administrator

*

*/

public class EmployeeTest {

/**

* @param args

*/

public static void main(String[] args) {

Employee e[] = new Employee[4];

e[0] = new SalariedEmployee("魏威",10,5000);

e[1] = new HourlyEmployee("段利峰",8,80,242);

e[2] = new SalesEmployee("林龙",11,300000,0.1);

e[3] = new BasedPlusSalesEmployee("华溪",1,100000,0.15,1500);

for(int i=0;i

System.out.println(e[i].getName()+": "+e[i].getSalary(11));

}

//统计加班费

int result = 0;

// for(int i=0;i

// if(e[i] instanceof SalariedEmployee){

// SalariedEmployee s = (SalariedEmployee)e[i];

// result += s.getAddtionalSalary();

// }

// if(e[i] instanceof BasedPlusSalesEmployee){

// BasedPlusSalesEmployee b = (BasedPlusSalesEmployee)e[i]; // result += b.getAddtionalSalary();

// }

// }

for(int i=0;i

result += e[i].getAddtionalSalary();

}

System.out.println("加班费: "+result);

}

}

interface AddtionalSalary{

int getAddtionalSalary();

}

class Employee implements AddtionalSalary{

private String name;//员工姓名

private int birth;//员工生日月份

public Employee(String name,int birth){

https://www.doczj.com/doc/9111760866.html, = name;

this.birth = birth;

}

public int getSalary(int month){

int result = 0;

if(month==birth)

result = 100;

return result;

}

public String getName(){

return name;

}

public int getAddtionalSalary(){

return 0;

}

}

class SalariedEmployee extends Employee{

private int salaryPerMonth;

public SalariedEmployee(String name,int birth,int salaryPerMonth){

super(name,birth);

this.salaryPerMonth = salaryPerMonth;

}

public int getSalary(int month){

return this.salaryPerMonth + super.getSalary(month)+

this.getAddtionalSalary();

}

public int getAddtionalSalary(){

return 2000;

}

}

class HourlyEmployee extends Employee{

private int salaryPerHour;

private int hoursPerMonth;

public HourlyEmployee(String name,int birth,int salaryPerHour,int hoursPerMonth){ super(name,birth);

this.salaryPerHour = salaryPerHour;

this.hoursPerMonth = hoursPerMonth;

}

public int getSalary(int month){

int result = 0;

if(this.hoursPerMonth<=160){

result = hoursPerMonth*salaryPerHour;

}else{

result = 160*salaryPerHour +

(int)((hoursPerMonth-160)*1.5*salaryPerHour);

}

return result+super.getSalary(month);

}

}

class SalesEmployee extends Employee{

private int sales;

private double rate;

public SalesEmployee(String name,int birth,int sales,double rate){

super(name,birth);

this.sales = sales;

this.rate = rate;

}

public int getSalary(int month){

return (int)(sales*rate)+super.getSalary(month);

}

}

class BasedPlusSalesEmployee extends SalesEmployee{

private int basedSalary;

public BasedPlusSalesEmployee(String name,int birth,int sales,double rate,int basedSalary){ super(name,birth,sales,rate);

this.basedSalary = basedSalary;

}

public int getSalary(int month){

return this.basedSalary+super.getSalary(month) +

this.getAddtionalSalary();

}

public int getAddtionalSalary(){

return 1000;

}

}

经典算法:

1. 某学校为学生分配宿舍,每6个人一间房(不考虑性别差异),问需要多少房?

答案:(x+5)/6

注意理解int类型数值。

2. 让数值在0~9 之间循环。

public class test{

public static void main(String[] args){

int i=0;

while(true){

i = (i+1)%10;

System.out.println(i);

}

}

}

作业:

1. 写一个数组类(放对象):

功能包括:添加(添加不限制多少项)、修改、插入、删除、查询

class MyArray{

private Object[] os = new Object[10];

public void add(Object o);

public void set(int index, Object o);

public void insert(int index, Objecto);

public void remove(int index);

public void remove(Object o);

public Object get(int index);

}

public class TestMyArray{

public static void main(String[]args){

MyArray ma = new MyArray();

ma.add("aaa");

ma.add("bbb");

ma.add("ccc");

Object o = ma.get(1);

Iterator it = ma.iterator();

while(it.hasNext()){

Object o1 = it.next();

System.out.println(o1);

}

}

}

作业10-08

1. 随机产生20 个整数(10以内的),放入一个ArrayList中,用迭代器遍历这个ArrayList

2. 并删除其中为5 的数

3. 再产生3 个整数,插入到位置4 处

4. 把所有值为1 的数都变成10

import java.util.ArrayList;

class ArrayList{

private Object[] os = new Object[20];

}

public class TestArray{

public static void main(String[]args){

ArrayList a = new ArrayList();

JAVA经典算法案例

JA V A经典算法40例 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % i==0 ) return false; return true; } } 【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水

15个经典JAVA小程序集

import java.util.Scanner; public class Example1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//输入一个数字 int score=sc.nextInt();//将数字放入整型score中 if(score>0)//if语句进行判断 { if(score>=90) { System.out.println("你很棒!"); } else if(score>=60&&score<90) { System.out.println("你很不错!"); } else System.out.println("你得加油!"); } else System.out.println("你输入的数字不正确!"); } } import java.util.Scanner; public class Example2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//动态输入任意两个数int a=sc.nextInt();

int b=sc.nextInt(); if(a>b)//if语句比较大小 { System.out.println("你所输入的最大值:"+a); System.out.println("你所输入的最小值:"+b); } else if(a

java经典编程题二及详细答案

2.1上机练习 ?基本题 1)编程观察如下输出语句: System.out.println("hello test escape char"); 在“escape”处换上各种转义字符测试输出效果。如何实现如下输出: Hello "test" Hello ‘\test’ 2)设有如下代码段,考虑赋值转换问题: int a=234; byte b=a; System.out.println("a=" a ",b=" b); 将a,b的类型以及数据进行各种替换,观察什么时候能赋值,什么时候需要使用强制转换,什么时候不能强制转换,什么时候强制转换会丢失数据。 3) 编写一个程序求半径R为10的圆的面积,结果保留2为有效小数。公式为:S=πR2 注:π可用Math类的常量PI表示(即Math.PI)。保留小数请查阅DecimalFormat类?提高题 1)设有一个边长为30的等边三角形,三角形内有一个内切圆,计算除内切圆外三角形内其它部分的面积。 【提示】先算三角形面积,再计算圆的面积,其差即为结果。h是等边三角形的高,内切圆的半径r=h/3,面积s=πh?/9。 2)调试分析以下程序的运行结果: public class test { public static void main(String a[]) { int m=10,n=517; System.out.println(n % m); System.out.println(n / m); System.out.println(m >> 2); System.out.println(m & n); System.out.println(Integer.toBinaryString(m)); System.out.println(Integer.toBinaryString(m >> 2)); } } 注意:Integer.toBinaryString(int)用于将一个整数转化为二进制形式的数字串。在进行位运算

Java经典编程题50道

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】

java源代码经典入门案例—光环java编程培训机构

java源代码经典入门案例 class Demo { public static void main(String[] args) { System.out.println("hello E盘"); } } class Demo { public static void main(String[] args) { System.out.println("hello E盘"); } } /* 需求:练习一个hello world程序。 思路: 1,定义一个类,因为java程序都定义类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现。 2,定义一个主函数。为了让该类可以独立运行。 3,因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成。 步骤: 1,用class关键字来完成类的定义,并起一个阅读性强的类名。 2,主函数:public static void main(String[] args)这时固定格式的。jvm认识。 3,使用输出语句:System.out.println("hello world"); 代码仅仅是思想的一种体现形式。 */ class Demo

{ //定义一个主函数,为了保证程序的独立运行。 public static void main(String[] args) { System.out.println("hello world");//这是输出语句,用于将括号中的数据打印到控制台上,ln可以在数据的结尾处换行。 } } class OperateDemo { public static void main(String[] args) { //算术运算符。+ - * / %(取余,模运算) +(连接符) // ++(自增:就在原有数据基础上+1,在赋给原有数据) -- //int x = 6370; //x = x / 1000 * 1000; //System.out.println(x); // System.out.println(5%2); // System.out.println(3+"2"); //System.out.println("5+5="+(5+5));//"5+5=5"+5 "5+5=55" //int a = 4,b = 5; //System.out.println("a="+a+",b="+b);//a=4,b=5; int a = 3,b; //a++;//a = a+1; // b = a++; b = (a++)+(++a)+(a++)+a; // 3 5 5 6 System.out.println("a="+a+",b="+b); int i = 3; i = i++;

JAVA算法100例_全源码

JA V A经典算法40题 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % 2==0 ) return false; return true;

java经典小程序,java入门100例!

1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上A级 80~89 B级 70~79 C级 60~69 D级 60分以下E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){

java经典案例与项目

Java学习的经典的案例收集 1:九九乘法表 /* 功能:实现九九乘法表的输出 时间:2013年7月4日 */ public class jiujiuchengfabiaoDemo { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); } } } 结果: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 2:输出等腰三角形 public class SanJiaoDemo { public static void main(String[] args) { for(int a=1;a<=5;a++){ for(int b=1;b<=5-a;b++){ System.out.print(" "); }

Java九大示例程序

JAVA面向对象九个经典例子程序 1 Hello world例子 (1) 2 类的基本组成示例 (1) 3静态与非静态变量及方法的使用 (3) 4 类继承的例子 (3) 5类的访问修饰符 (4) 6抽象类及其实现示例 (5) 7接口及其实现 (6) 8 抽象类与接口混合编程例子 (7) 9 接口回调与多态性 (8) 1 Hello world例子 package Example; //定义自己的包名 public class Example1 //定义一个类 { public static void main(String[] args) //系统可以执行的main方法,这里是一个公有静态无返回值的方法 { System.out.println("Hello world!"); //调用https://www.doczj.com/doc/9111760866.html,ng包中的System类的PrintLine方法输出Hello world! } } 2 类的基本组成示例 package Example; class Person { public int age; //声明公共字段age private String name; //声明私有字段name,此时name为类的属性,下面通过公有方法进行访问 public String getName() { return name;

} public void setName(String name) { https://www.doczj.com/doc/9111760866.html, = name; } public void eat() //定义无参数的eat方法 { System.out.println("Person can eat"); } public void eat(String s) //定义带参数的eat方法,实现方法重载 { System.out.println("Person can eat"+s); } public Person() //定义无参构造函数,注意无返回值定义,方法与类同名 { } public Person(int age, String name) //重写一个带参数构造函数,注意无返回值定义,方法与类同名 { this.age = age; //前一个age为对象的字段,由this指定,后一个age为函数形参 https://www.doczj.com/doc/9111760866.html, = name; //前一个name为对象的属性,由this指定,因为在本类中可直接访问,后一个name为函数形参 } } public class Example2 { public static void main(String[] args) { Person person1 = new Person(); //调用类的无参构造函数 person1.age = 20; //给对象的公有字段直接赋值 person1.setName("zhangsan"); //必须使用公共方法才能给对象的属性赋值 System.out.println("第一个人信息,姓名:"+person1.getName()+"年 龄:"+person1.age); person1.eat(); //调用对象的无参方法 Person person2 = new Person(18, "lisi");//调用类的有参构造函数 System.out.println("第二个人信息,姓名:"+ person2.getName() + "年龄:"+ person2.age); person2.eat(" 馒头"); //调用对象的有参方法 } }

java递归的经典例子

java递归的经典例子 1。汉诺塔 这是递归的超经典的例子,几乎每本程序设计书上谈到递归都会介绍。具体情景不再赘述。以我上述的方法观之:(1)递归的出口在于disk数为一的时候(2)向出口逼近:如果不是一,是n ,则我们先挪动上面n-1块disk,等上面挪完,即递归返回的时候,我们挪动最底下的disk。 仅仅如此,一个貌似十分复杂的问题就解决了,因为挪动那n-1块disk的时候,会继续向上减少,直到disk的数量为一为止。下面给出java程序编码(已测试过,运行正常): import javax.swing.JOptionPane; public class Hanoi { private static final String DISK_B = "diskB"; private static final String DISK_C = "diskC"; private static final String DISK_A = "diskA"; static String from=DISK_A; static String to=DISK_C; static String mid=DISK_B; public static void main(String[] args) { String input=JOptionPane.showInputDialog("please input the number of the disks you want me move."); int num=Integer.parseInt(input); move(num,from,mid,to); } private static void move(int num, String from2, String mid2, String to2) { if(num==1){ System.out.println("move disk 1 from "+from2+" to "+to2); } else { move(num-1,from2,to2,mid2); System.out.println("move disk "+num+" from "+from2+" to "+to2); move(num-1,mid2,from2,to2); } } } 2。这是一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是"abc" 则程序会输出:

Java面向对象经典案例10个#(精选.)

1 class Anthropoid //类人猿 { private int n=100; void crySpeak(String s) { System.out.println(s); } } class People extends Anthropoid { void computer(int a,int b) { int c=a*b; System.out.println(c); } void crySpeak(String s) { System.out.println("**"+s+"**"); } } public class Monkey { public static void main(String args[]) { Anthropoid monkey=new People(); //monkey是People对象的上转型对象 //https://www.doczj.com/doc/9111760866.html,puter(10,10); //非法 monkey.crySpeak("我喜欢这个运动"); People people=(People)monkey; //把上转型对象强制转化为子类的对象 https://www.doczj.com/doc/9111760866.html,puter(10,10); } } 2

class ManyArea{ public double area(double radius){ return Math.PI*radius*radius; } public double area(double len,double width){ return len*width; } public double area(int len,int width){ return len*width; } public double area(double len,double width,double height){ return len*width*height; } } public class OverLoad{ public static void main(String args[]){ ManyArea ob=new ManyArea(); System.out.println("半径为3.0的圆的面积:"+ob.area(3.0)); System.out.println("长2.0、宽3.0的面积:"+ob.area(2.0,3.0)); System.out.println("长2、宽3的面积:"+ob.area(2,3)); System.out.println("立方体的面积:"+ob.area(2.0,3.0,4.0)); } } 3 class Animal { public void shout() { } } class Dog extends Animal { public void newDog() { System.out.println("Dog的新特性"); } public void shout() {

50道经典java编程题

【程序1】TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序2】FindPrimeNumber.java 题目:判断101-200之间有多少个素数,并输出所有素数。 【程序3】FindDaffodilNumber.java 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 【程序4】FenJie.java 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 【程序5】ConditionOperator.java 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

【程序6】GcdTest.java辗转相除法 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 【程序7】StChar.java 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 【程序8】TestAdd.java 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 【程序9】WanShu.java 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 【程序10】TestBall.java 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

JAVA编程实例大全及详解答案(50例)

JA V A编程实例大全及详解答案(50例) 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count);

Java编程五大经典实例(初学者版)

一、实验目的: 1、掌握 Java 基本数据类型、运算符与表达式、数组和字符串的使用方法。 2、掌握各种变量的声明方式。 3、理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 4、通过以上内容,掌握 Java 语言的编程规则。 5、了解Java程序文件名和类名的说明方法。 二、实验内容(或步骤)提要 1、输入一个学生的成绩,给出相应的等级(分别用if和switch语句实现)。 85分及以上为A级;70分及以上为B级; 60分及以上为C级;60分以下为D级。 【参考程序1】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); if(s<60) System.out.println("D"); else if(s<70) System.out.println("C"); else if(s<85) System.out.println("B"); else System.out.println("A"); } } 【参考程序2】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); int x=s/10; switch (x) { case 0: case 1: case 2: case 3: case 4:

case 5: System.out.println("D");break; case 6: System.out.println("C");break; case 7: case 8: if (s <85) { System.out.println("B"); break; } case 9: case 10: System.out.println("A"); } } } 2、输入某人的应纳税所得额,计算个人所得税。税率表如下: 级数全月应纳税所得额税率%速算扣除法(元) 1不超过500元的50 2超过500元至2000元的部分10 25 3超过2000元至5000元的部分15 125 4超过5000元至20000元的部分20 375 5 超过20000元至40000元的部分251375 6 超过40000元至60000元的部分30 3375 7 超过60000元至80000元的部分356375 8 超过80000元至100000元的部分40 10375 9 超过100000元的部分45 15375 计算公式是:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数 例:王某当月应纳税所得额6400元。则应纳个人所得税税额=6400×20%-375=905元。【参考程序】 import java.util.Scanner; public class TaxCompute {

java经典小程序模板

JA V A经典小程序1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上A级 80~89 B级 70~79 C级 60~69 D级 60分以下E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。

java经典选择题100例及答案

1.使用Java语言编写的源程序保存时的文件扩展名是()。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1;a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。 (A)封装(B)继承 (C)覆盖(D)重载 5.在类的定义中构造函数的作用是()。 (A)保护成员变量(B)读取类的成员变量 (C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句()。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的抽象(B)对象是类的抽象 (C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符()。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为() (A) .class和.java(B).java和.class (C).class和.class(D) .java和.java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class(B) class,import,package (C) import,package,class(D) package,class,import 14.下面哪个是非法的: (A) int I = 32;(B) float f = 45.0; (C) double d = 45.0;(D) char c = ‘u’;//符号错 15.Java语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是 (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是 (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁?( ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( ) (A)可以有方法体(B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 20.java.io包的File类是 (A)字符流类(B) 字节流类 (C) 对象流类(D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为() int x=-3;int y=-10; System.out.println(y%x); A、-1 B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 24. 若有定义:byte[] x={11,22,33,-66}; 其中0≤k≤3,则对x数组元素错误的引用是() A)x[5-3] B)x[k] C)x[k+5] D)x[0] 25.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 26.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为() A)隐藏 B)重写 C)重载 D)Java不支持此特性 28.以下有关构造方法的说法,正确的是:() A.一个类的构造方法可以有多个 B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用。 D.构造方法可以和类同名,也可以和类名不同 29.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 A、init() B、start() C、destroy() D、stop() 30.给出下面代码,关于该程序以下哪个说法是正确的?()public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 31、有以下方法的定义,请选择该方法的返回类型()。ReturnType method(byte x, double y) { return (short)x/y*2; } A、byte B、short C、int D、double 32.下列类定义中哪些是合法的抽象类的定义?() A、abstract Animal{abstract void growl();} B、class abstract Animal{abstract void growl();} C、abstract class Animal{abstract void growl();} D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};} 33.有以下程序片段,下列哪个选项不能插入到行1。() 1. 2.public class Interesting{ 3.//do sth 4. } A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 34. 设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是()。

相关主题
文本预览
相关文档 最新文档