「java基础小项目练习题」java项目题目

博主:adminadmin 2022-12-23 12:36:09 69

本篇文章给大家谈谈java基础小项目练习题,以及java项目题目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求大量JAVA习题!!!急!!!(不是编程题)

注意:还不是完整的文档,太长了不能全帖完。要的话找我!^_^

《Java程序设计》练习题

一、判断题

1、 Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。 ( )

2、 一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。 ( )

3、方法中的形参可以和方法所属类的属性同名。 ( )

4、接口无构造器,不能有实例,也不能定义常量。 ( )

5、利用File对象可以判断一个文件或目录是否存在。 ( )

6、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。 ( )

7、BorderLayout是面板的缺省布局管理器。 ( )

8、BorderLayout最多可以使用5个组件。 ( )

9、一个面板(JPanel)不能被加入另一个面板(JPanel)中。 ( )

10、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。 ( )

11、线程可以用yield使同优先级的线程运行。 ( )

12、System.in是标准输入流,能用read方法读取键盘的输入。 ( )

13、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。( )

二、填空题

1、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:

(1) x y||!zture (2) !x||!y!z

(3) (!x!y)||(!y!z) (4) xy||true!z

2、求下面表达式的值:

(1) 已知x=2、y=6、z=5.0,求x+(int)y/2*z%4

(2) 已知x=123,求x/100+x%100/10+x%10

(3) 已知x=160、y=2.8、z=5,求(byte)x +(int)y+(float)z;

(4) 设 int x=17,y=5; 执行语句 x%=x++/--y 后x的值为 。

(5) 设 int a=7,b=6,c=5;,表达式 (a+b)(c*c)b==c||cb 的值为 。

(6) 设 int a=3,b=5,c=7;,表达式ac||cb!=0c==b+a 的值为 。

3、下列表达式中n和x被赋值为多少?

int n=0;

int x=1;

n=x++ + x++; //这里n= , x=

n=n++ - x--; //这里n= , x=

n=x-- + -x++; //这里n= , x=

n=++x + x++; //这里n= , x=

4、使用 方法为组件设置布局管理器,JFrame的缺省布局管理器是 ,内容面板的缺省布局管理器是 。

5、写出4个常见的异常例子: 、 、 和 。重新抛出一个异常用 语句。

6、线程通过 方法可以休眠一段时间,然后恢复运行,当 时,线程进入死亡状态。

7、编写一个线程可以用 和 来实现。

8、创建文件(c:\test.txt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。

9、Container 的________方法可以将_______组件加入容器。

10、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。

11、使用 方法为组件设置布局管理器,JFrame的缺省布局管理器是 ,内容面板的缺省布局管理器是 。

12、Java.swing.JFrame.getContentPane()的返回类型是 。

13、数据越界抛出的异常类是 ,整数除零抛出的异常类是 ,算术溢出抛出的异常类是 。

三、选择题

1、 下面哪些是不合法的变量名称? ( )

A) 2D B) True C) _name D) T1 E) while-ture

2、下列变量定义不正确的是: ( )

A) boolean status=false; B) float d = 45.6;

C) char c = “a”; D) int k = 1+’1’; E) float f=1/4;

3、下列数组的定义不合法的是: ( )

A) char c[][]=new char[2][3];

B) char c[][]=new char[6][];

C) char [][]c=new char[3][3];

D) char [][]c=new char[][4];

E) int []a[] = new int[10][10];

4、对于下列代码:

public class Example{

String str=new String("hello");

char ch[]={'d','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.println(ex.str+"and"+ex.ch[0]);

}

public void change(String str,char ch[]){

str="world";ch[0]= 'a';

}

}

输出结果是: ( )

A) hello and d B) hello and a

C) world and d D) world and a

5、下列说法哪个是正确的? ( )

A) 子类不能定义和父类同名同参数的方法

B) 子类只能继承父类的方法,而不能重载

C) 重载就是一个类中有多个同名但有不同形参和方法体的方法

D) 子类只能覆盖父类的方法,而不能重载

6、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( )

A) 找到合适的例外类型后继续执行后面的catch

B) 找到每个符合条件的catch都执行一次

C) 找到合适的例外类型后就不再执行后面的catch

D) 对每个catch都执行一次

7、以下哪一项不是File类的功能: ( )

A) 创建文件

B) 创建目录

C) 删除文件

D) 拷贝文件

8、下列说法哪个是正确的? ( )

A) BorderLayout是面板的缺省布局管理器

B) 当鼠标指针位于一个GUI组件的边上时,发生一个MouseOver事件

C) 一个面板(Jpanel) 不能被加入到另一个面板(Jpanel)中

D) 在BorderLayout中,添加到NORTH区的两个按钮将并排显示。

9、在java程序中,下列关于线程的说法错误的是: ( )

A) run方法是运行线程的主体

B) 多个进程运行时执行顺序是按顺序执行的

C) 如果线程死亡,它便不能运行

D) 在java中,高优先级的可运行线程会抢占低优先级线程

10、关于JDBC访问数据库的说法错误的是: ( )

A) 建立数据库连接时,必须加载驱动程序,可采用Class.forName()实现

B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法

C) 建立数据库连接时,必须要进行异常处理

D) JDBC中查询语句的执行方法必须采用Statement类实现

四、程序阅读题

1、阅读下面的程序,程序保存为Test.java:

1) public class Test

2) {

3) public static void main(String[] args)

4) {

5) System.out.println(args[2]);

6) }

7) }

以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?

2、阅读下面的程序:

① public class Test{

② public static void main(String[] a){

③ int i = Integer.parseInt(a[0]);

④ switch (i) {

⑤ case 1:System.out.println("Frist season");break;

⑥ case 2:System.out.println("Second season");

⑦ case 3:System.out.println("3th season");break;

⑧ case 4:System.out.println("Last season");

⑨ }

⑩ }

⑪ }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 2 运行得到的输出结果是什么?

3、阅读下面的程序:

① public class Test{

② public static void main(String[ ] args) {

③ int x,y=2,i=0,j=0;

④ if(args.length2) System.exit(-1);

⑤ x = Integer.parseInt(args[1]);

⑥ switch(x){

⑦ case 1:switch(y){

⑧ case 1:i++;break;

⑨ case 2:j++;break;

⑩ default:i++;j++;

⑪ }

⑫ case 2:i++;j++;break;

⑬ default:i++;j++;

⑭ }

⑮ System.out.println("i="+i);

⑯ System.out.println("j="+j);

⑰ }

⑱ }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 1 2 3 运行得到的运行结果是什么?

4、阅读下面的程序,程序保存为Test.java:

1) public class Test

2) {

3) short mValue;

4) public static void main(String[] args)

5) {

6) int a = 32;

7) int b = 56;

8) Test os = new Test(a+b);

9) os.Show( );

10) }

11) protected Test(short aValue) { mValue = aValue; }

12) public void Show( ) { System.out.println(mValue); }

13) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

5、阅读下面的程序:

class test

{

public static void main(String[] args)

{

int i = 1;

int All = 0;

for (;i=10;i++)

{

if (i%6==0) break;

if(i%2==0) {i=i+2;continue;}

All = All + i;

}

System.out.println(All);

}

}

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

6、阅读下面的程序,程序保存为Test.java:

1) public class Test

2) {

3) public static void main(String[] args)

4) {

5) int i = 100;

6) int j = 0;

7) boolean b = true;

8) while (b)

9) {

10) if (b||(i50)) b = false;

11) else b = true;

12) j=j+1;

13) i=i-1;

14) }

15) System.out.println(j);

16) }

17) }

上面的程序经编译,运行后输出的结果是什么?

7、阅读下面的程序:

1) public class test

2) {

3) public static void main(String argv[])

4) {

5) Bird b = new Bird();

6) b.Fly(3);

7) }

8) }

9) class Bird

10) {

11) static int Type = 2;

12) private void Fly(int an_Type)

13) {

14) Type = an_Type;

15) System.out.println("Flying..."+Type);

16) }

17) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

8、阅读下面的程序:

1) abstract class Base{

2) abstract public void myfunc();

3) public void another(){

4) System.out.println("Another method");

5) }

6) }

7) public class Abs extends Base{

8) public static void main(String argv[]){

9) Base b = new Abs();

10) b.another();

11) }

12) public void myfunc(){

13) System.out.println("My Func");

14) }

15) public void another(){

16) myfunc();

17) }

18) }

以上程序经编译后,运行结果是什么?

9、阅读下面的程序:

1) class Super{

2) public int i=0;

3) public Super(){

4) i=1;

5) }

6) }

7) public class Sub extends Super{

8) public Sub(){

9) i=2;

10) }

11) public static void main(String args[]){

12) Sub s=new Sub();

13) System.out.println(s.i);

14) }

15) }

上面的程序经编译后,运行结果是什么?

10、阅读下面的程序,程序保存为Test.java:

1) public class Test {

2) public static void main(String[ ] args) {

3) int index=0;

4) while (index=100) {

5) index+=10;

6) if (index==40)

7) break;

8) System.out.println("The index is "+index);

9) }

10) }

11) }

上面的程序经编译,运行后输出的结果是什么?

五、问答题

1、 设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少?

(1) while(x=y) x=2*x;

(2) while(y/x5) if(y-x25) x=x+1; else y=y/x;

(3) do{x=2*x;} while(xy);

(4) do{x=y/x;y=y-x;}while(x=y);

(5) do{y=y/x-1; if(y=x) y=x;} while(y=1);

2、简述对象、类的概念。

3、简述封装、继承性和多态性的概念。

4、根据以下的设计要求编写java源代码。

类名: Circle

实例数据(均为private):

radius(double) //圆的半径

方法:

构造方法(没有参数,设置radius的值为10.0)

setRadius(有一个double参数,将radius的值设为这个新值),

getRadius (没有参数,返回radius的值)

sameSize(有一个参数,是另一个Circle对象的引用,如果两个Circle对象的radius的差小于0.001,则返回true)

5、下面的代码使用上题的Circle类,请回答下面的问题:

public class CircleTester {

public static void main(String[] args) {

Circle c1,c2,c3;

c1 = new Circle();

c2 = new Circle();

System.out.println(“are same is: “+c1.sameSize(c2));

c2.setRadius(20.0);

compare.reset();

System.out.println(“are same is: “+c1.sameSize(c2));

}

}

问题:

(1) 共创建了几个Circle对象?

(2) 程序运行的结果是什么?

6、假设已有一个ArrayMethods 类,包含以下的方法:

public static void replace(double[] a, int p, double v)

将数组a中下标为p的元素的值替换为v.

public static void fill(double[] a, int p, double v)

将数组a中的前p个元素用value值填充(即将数组a的前p个元素的值,设成v),如果数组的长度小于p,则全部元素都设成v

public static void display(double[] a)

在屏幕上显示数组a的内容

现在假设你在main()方法中已经声明了如下变量:

double[] array1={4.5, 6.0, 0.1, 2.2};

double[] array2;

double num1;

int pos=3;

要求对下面的3组语句,先回答是否合法(即没有编译错误),如果是合法的,请描述程序运行的效果,如果不合法,请说明理由.

1) num1 = array1[2];

ArrayMethods.replace(array1, pos, num1);

ArrayMethods.display(array1);

2) num1 = array1[0];

ArrayMethods.fill(array1, pos, num1);

ArrayMethods.display(array1);

3) num1 = array1[1];

array2=new double[num1];

ArrayMethods.display(array2);

六、编程题

1、分别利用for、while、do~while编写计算正整数n1到n2的累加和。

2、编写一个编程,给定一个t的值(t的值也可通过命令行输入),按下式计算y值并输出,要求分别写作if语句和switch语句。

t2-1 0≤t<1

t3-2•t-2 1≤t<3

y= t2-t•sint 3≤t<5

t+1 5≤t<7

t-1 其它

3、设计一个类TestArraySum,定义一个含有10个元素的int类型数组a,10个数组元素的值是11~20,再定义一个方法arraySum(int[] a),返回数组所有元素的和,最后用main方法实现在屏幕上输出数组a所有元素的和。

4、编写一个java程序Suansu.java,定义两个整型变量a和b,使用构造函数初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商 (方法名为DivAB)的方法。

用另一个java程序TestSuansu.java测试Suansu.java定义的方法,并在屏幕上输出结果。

5、创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:

 getArea返回矩形的面积,要求长和高的范围为0~50;

 getPerimeter返回矩形的周长;

 Draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数);

在另一个类TestRectangle中编写main方法来测试Rectangle类。

6、用面向对象的思想定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序。

7、创建一个Frame,有两个Button按钮和一个TextField,点击按钮,在TextField上显示Button信息。

8、创建下图的GUI程序(注意:不需要提供任何功能)。

9、编写一个文件拷贝的程序,将文件C:\test1.txt的内容拷贝到C:\test2.txt中。

10、编写一个程序,统计给定文件中每个字母出现的频率。

11、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。

12、用图形界面设计一个简单的计算器。

13、用图形界面实现简单的银行柜台业务,包含创建新帐户、取款、存款、查询帐户余额等业务。

java练习题

【程序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)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】

题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(ab)?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】

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如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进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将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的数。可用~(~04)

(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"中。

===============================================

虽然是C语言的题~但是JAVA一样做,也挺适合初学者的

明天要考java,有几个知识点不理解,求大佬可以把以下的题目代码发一下,能做几个都好,只要注释全就行~

还是耐着性子给你做完了望采纳。。。

第七题

/**

 * 动物抽象类

 */

public abstract class Animal {

//颜色

private String color;

//类别

private String type;

//吃饭

public abstract void eat();

//叫

public abstract void cry();

//get set方法省略。。。

}

/**

 * 游泳的接口

 */

public interface Swimable {

//游泳

public void swim();

}

/**

 * 兔子类

 */

public class Rabbit extends Animal {

@Override

public void eat() {

System.out.println("小兔几吃萝卜。。。");

}

@Override

public void cry() {

System.out.println("小兔几呵呵哒。。。");

}

}

/**

 * 青蛙类

 */

public class Frog extends Animal implements Swimable {

public void swim() {

System.out.println("青蛙会蛙泳。。。");

}

@Override

public void eat() {

System.out.println("青蛙吃昆虫。。。");

}

@Override

public void cry() {

System.out.println("青蛙呱呱叫。。。");

}

}

public class Test {

public static void main(String[] args) {

//兔子

Rabbit rabbit = new Rabbit();

rabbit.eat();

rabbit.cry();

//青蛙

Frog frog = new Frog();

frog.eat();

frog.cry();

frog.swim();

}

}

第八题

/**

 * 学生类

 */

public class Student {

//学号

private String id;

//姓名

private String name;

//性别

private char gender;

//年龄

private int age;

public Student(String id, String name, char gender, int age) {

this.id = id;

this.name = name;

this.gender = gender;

this.age = age;

}

//获得学号、姓名、性别、年龄

public String toString() {

return "学号:"+id +"  姓名:" + name + "   性别:" + gender + "  年龄:" + age;

}

//修改年龄

public void changeAge(int range) {

age = range;

}

//get set方法省略。。。

}

public class Test {

public static void main(String[] args) {

Student s = new Student("alibb008", "杰克马", '公', 18) ;

System.out.println(s.toString());

s.changeAge(50);

System.out.println(s.toString());

}

}

感慨啊。。。

java编程基础练习题

这道题的答案是C。

double[] num1; //定义一个double类型的数组num1

double num3=2.0; //定义一个double类型的变量并赋值为2.0

int num2=5; //定义一个int类型的冰凉num2,并赋值为5

num1=new double[num2+1];

//给double类型的数组num1赋值,并初始化为5+1个大小, num2=5,所以是5+1

num1[num2]=num3;

//上面这句翻译过来就是:数组num1[5]=2.0 。 由于数组下标从0开始,所以下标为5的元素是最后一个元素。 所以答案是C

求Java基础,练习题。

选择题 (25道)

1. 下列选项中,不属于Java语言特点的一项是( C )。

A:分布式 B:安全性 C:编译执行 D:面向对象

2. Java语言的特点与 C/C+ +语言的比较中说法错误的是:( D )

A:简单性Java继承了 C/C+ +的语法 ,丢弃了其中不常用又容易引起混淆的功能。

B:Java是一种纯面向对象的语言 ,具有封装、继承 ( Inheritance)和多态( Polymorphism)的特点。

C:Java应用程序可凭借URL打开并访问网络上的对象。

D:解释型Java写成的源代码需要被编译成高阶的字节码 ,它们与机器架构有关。

3. 阅读下列代码,选出该代码段正确的文件名( C )。

class A{

void method1(){

System.out.println("Method1 in class A");

}

}

public class B{

void method2(){

System.out.println("Method2 in class B");

}

public static void main(String[] args){

System.out.println("main() in class B");

}

}

A: A.java B:A.class C: B.java D: B.class

4. 如果一个类的文件名为Student.java,但是类的代码为:

public class Student {

public static void main(String[] args) {

System.out.println(82);

}}

那么下列说法正确的是:( B )

A:程序运行结果为8; B:程序运行结果为2;

C:程序运行结果为0; D:程序编译错误,不能运行;

5. 符合对象和类的关系的是( D )。

A:教师和学生 B:书和房子

C:狗和猫 D:飞机和交通工具

6. 关于垃圾回收机制描述不正确的是( B )

A:垃圾回收机制不须通过程序员调用相应方法,也能自动启动。

B:java程序员用System.gc()方法一定能进行垃圾回收;

C:垃圾回收机制属于jvm自动操作,java程序员可以不进行垃圾回收操作。

D:垃圾回收机制并不是由操作系统自动执行。

7. 编译下面源程序会得到哪些文件( D )?

class A1{

}

class A2 exdends A1{

}

public class B{

public static void main(String[] args){

}

}

A: 只有B.class文件 B:只有A1.class和A2.class文件

C: 编译不成功 D:A1.class、A2.class和B.class文件

8. 下列关于基本数据类型的说法中,不正确的一项是( D )。

(A)boolean类型变量的值只能取真或假

(B)float是带符号的32位浮点数

(C)double是带符号的64位浮点数

(D)char是8位Unicode字符

9. 下列(D )是合法的标识符?

A:12class B:void C:-5 D:_blank

10. 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。

A:byte的默认值是0 B:boolean的默认值是false

C: char类型的默认值是’\0’ D: long类型的默认值是0.0L

11. 下列程序执行的结果是:( B )

public class News {

public static void main(String[] args) {

System.out.println(1+2+ "aa"+3);

}}

A: "12aa3" B: "3aa3 " C: "12aa" D: "aa3"

12. 表达式(12==0) (1/0 1)的值为( B )。

A: true B: false C: 0 D: 运行时抛出异常

13. 下列循环体执行的次数是( C )。

int y=2, x=4;

while(--x != x/y){ }

A : 1 B: 2 C : 3 D : 4

14. 已知如下代码:

switch(m){

case 0: System.out.println("Condition 0");

case 1: System.out.println("Condition 1");

case 2: System.out.println("Condition 2");

case 3: System.out.println("Condition 3");break;

default:System.out.println("Other Condition");

}

当m的值为( D )时,输出“Condition 3”

(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3

15. 下列语句输出的结果是:( C )

public class X3 {

public static void main(String[] args) {

for(int i=0; i10; i++){

if(i==5) break;

System.out.print(i);

}

}

}

A:编译错误; B:1234;C:01234;D:12345;

16. 下列语句输出的结果是:( D )

public class Lx1 {

public static void main(String[] args) {

for(int i=0;i5;i++){

switch(i){

case 0:System.out.print("B");

case 1:System.out.print("e");break;

case 2:System.out.print("g");

case 3:System.out.print("!");break;

case 4:System.out.print("!");break;

default:System.out.print("!");

}

}

}

}

A:Beg!!! B:Beeg! C:Beg! D:Beeg!!!

17. 下面foreach循环的程序输出结果是( D )。

public class Lx1{

public static void main(String[] args) {

String s1[]={"欢迎您","3","G","同","学",};

Arrays.sort(s1);

for(String s0:s1)

System.out.print (s0);

}

}

A:欢迎您3G同学 B:3G欢迎您同学 C:同学欢迎您3G D:3G同学欢迎您

18. 阅读以下程序,选择正确的运行结果:( B )

public class Lx1 {

public static void main(String[] args) {

byte d[]="YOUIHE你我他".getBytes();

String s=new String(d,6,2);

System.out.println(s);

}

}

A:HE; B:你; C:我; D:他

19. 设有下列数组定义语句:

int a[][]= {{1, 2}, {3}};

则对此语句的叙述正确的是( D )。

A: 定义了一个名为a的一维数组 B: a数组 a[1][1]为0

C: a数组元素的下标为1~3 D: 数组中每个元素的类型都是整数

20. 下列程序输出的结果是:( B )

public class Lx1 {

public static void main(String[] args) {

String a[][] ={{"","","",""},{""},{"",""}};

System.out.println(a[2].length);

}

}

A:1 B:2 C:3 D:4

21. 关于以下程序的说明,正确的是( C )

1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. System.out.println(“x=” + x);

8. }

9. static { x/=3;}

10. }

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

22. 给出下面代码,关于该程序以下哪个说法是正确的?( C )

public class Person{

static int arr[] = new int[5];

public static void main(String a[]) {

for(int i=0;i

System.out.print(arr[0]);

}

}

A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空

23. 下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。( C )

class ClassDemo {

public static int sum=1;

public ClassDemo() {

sum = sum + 5;}

}

public class ClassDemoTest{

public static void main(String args[]) {

ClassDemo demo1=new ClassDemo();

ClassDemo demo2=new ClassDemo();

System.out.println(demo1.sum);}

}

A: 0 B: 6 C: 11 D: 2

24. 下面关于方法的说法,不正确的是( C )。

A: Java中的构造方法名必须和类名相同

B: 方法体是对方法的实现,包括变量声明和合法语句

C: 如果一个类定义了构造方法,也可以用该类的默认构造方法

D: 类的私有方法不能被其他类直接访问

25. 在Java中下列说法正确的是( C )

A) 一个子类可以有多个父类,一个父类也可以有多个子类

B) 一个子类可以有多个父类,但一个父类只可以有一个子类

C) 一个子类可以有一个父类,但一个父类可以有多个子类

D) 上述说法都不对

java基础小项目练习题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java项目题目、java基础小项目练习题的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。