运行代码
具体的代码如下:
import javautilHashMap;
public class SearchDemo {
public HashMap<Integer,Integer> countMap(char[] arr){
HashMap countMap = new HashMap<Integer, Integer>();
for (int i = 0; i < arrlength; i++) {
if(!countMapcontainsKey(arr[i])){
countMapput(arr[i],1);
}else{
int value = (int)countMapget(arr[i]) + 1;
countMapput(arr[i],value);
}
}
return countMap;
}
public static void main(String[] args) {
char[] arr={'A','1','R','!','e','&','A','5','A','g','#','D'};
int count = new SearchDemo()countMap(arr)get('A');
Systemoutprintln("其中'A'字符的个数是:" + count);
}
}
运行结果
一、程序填空题
1下面是一个java应用程序(Application),它的功能是在屏幕上输出26个英文字母,其中每个字母相隔一个制表符,请完成程序。
public _____ Class1
{
public static void main( String args[] ) {
char c='a';
for (int i=1;i<=26;i++){
Systemoutprint(____________);
}
}
}
2下面程序的功能为计算数组各元素的和,请完成程序。
import javaawtGraphics;
import javaxswingJApplet;
public class SumOfArray _______ JApplet{
public void paint( Graphics g ) {
int a[] = { 1, 3, 5, 7, 9, 10 };
int total=0;
for ( int i = 0; i < alength; i++ )
total+=_____________;
gdrawString( "Total of array elements: " + total, 25, 25 );
}
}
3下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将程序补充完
整。
import javaio;
public class Class1{
public static void main( String args[] ) {
int i1=1234,i2=456,i3=-987;
int MaxValue;
MaxValue=____________;
Systemoutprintln("三个数的最大值:"+MaxValue);
}
public ________ int max(int x,int y,int z) {
int temp1,max_value;
temp1=x>yx:y;
max_value=temp1>ztemp1:z;
return max_value;
}
}
二、简答题
1阅读下面的程序,回答以下问题(6分)问题:
import javaawt;
import javaxswing;
import javaawtevent;
public class Test extends JApplet implements ActionListener {
JLabel aa;
JTextField t1;
int i=0;
public void init(){
thissetLayout(new FlowLayout());
aa=new JLabel("请输入一个整数:");
add(aa);
t1=new JTextField(10);
add(t1);
t1addActionListener(this);
}
public void paint(Graphics g){
gdrawString("a="+( ++i--i),20,60);
gdrawString("i="+( i),20,80);
}
public void actionPerformed(ActionEvent e){
i=IntegerparseInt(t1getText());//转化为整数
repaint();
}
}
1)程序开头的 import javaawtevent ; 的含义是什么
2)ActionListener是类还是接口 程序中哪个方法是ActionListener中的方法,其功能为何
3)若在文本域中输入6并回车,程序输出什么
2阅读程序,回答以下问题(6分)
public class InheritTest1{
public static void main (String[] args){
A aa;
B bb;
aa=new A( );
bb=new B( );
aashow( );
bbshow();
}
}
public class A{ //Ajava
int a=1;
double d=20;
void show( ){
Systemoutprintln("Class A: "+"\ta="+a +"\td="+d);
}
}
public class B extends A{ //Bjava
float a=30f;
String d="Java program";
int b=4;
void show( ){
Systemoutprintln("Class A: "+"\ta="+supera +"\td="+superd);
supershow( );
Systemoutprintln("Class B: "+"\ta="+a +"\td="+d+"\tb="+b);
}
}
问题:
1) 这是哪一类java程序
2) 类A和类B是什么关系?
3) 按程序输出的格式写出程序运行后的结果
三、程序设计题
1 实现java应用程序实现的功能是从文本域中输入你的名字"",回车后在标签中显示",你好!" ,请完成程序。如图
这是答案:
一、程序填空题
1class "\t"+(char)(c+i-1)
2extends a[i]
3max(i1,i2) static
二、简答题
1 1)程序开头的 import javaawtevent ; 的含义是什么
加载javaawtevent包中的所有类。
2)ActionListener是类还是接口 程序中哪个方法是ActionListener中的方法,其功能为何
ActionListener是接口,actionPerformed是ActionListener中的方法,功能是当点击按钮时,将文本域的数据转化为整数。
3)若在文本域中输入6并回车,程序输出什么
A=42
I=6
2阅读程序,回答以下问题(6分)
}问题:
1) 这是哪一类java程序
Java Application
2) 类A和类B是什么关系?
A类是B类的父类
3) 按程序输出的格式写出程序运行后的结果
三、程序设计题
1 实现java应用程序实现的功能是从文本域中输入你的名字"",回车后在标签中显示",你好!" ,请完成程序。如图
import javaawt;
import javaxswing;
import javaawtevent;
public class Test extends JFrame implements ActionListener
{
JLabel aa,bb;
JTextField t1;
String s=" ";
public Test(){
aa=new JLabel("请输入你的名字:");
bb=new JLabel();
Container c=thisgetContentPane();
csetLayout(new FlowLayout());
t1=new JTextField(10);
cadd(aa);
cadd(t1);
cadd(bb);
t1addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(t1getText()!=null){
bbsetText(t1getText()+",你好!");
repaint();
}
}
public static void main(String[] args){
Test t=new Test();
tpack();
tshow();
}
}
我这还有 。。。如果还要的话 到我空间留言
Java面向对象程序设计
考试卷
班级:
姓名:
时间: 90分钟
一、选择题(没有注明多选,则为单选)
1、 下列变量定义错误的是 D
A int a;
B double b=45;
C boolean b=true;
D float f=98; (98f)
2、 6+5%3+2的值是 D 3%5=3
A 2
B 1
C 9
D 10
3、 对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是
A k = n / 10 % 10
B k = ( n - n / 100 100 )%10
C k = n % 10
D k = n / 10
4、 下列语句序列执行后,k 的值是 D
1 int x=6, y=10, k=5;
2 switch( x % y ) (=6) (long类型不行)
3 {
4 case 0: k=xy;
5 case 6: k=x/y;
6 case 12: k=x-y;
7 default: k=xy-x; (default 位置可以改变)
8 }
A 60
B 5
C 0
D 54
5、 下列语句序列执行后,i的值是:
1 int i = 10;
2 do { i/=2; } while( i-- > 1 ); (减去1)
A 1
B 5
C 2
D -1
6、 在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是:(同一个方法中参数不同,返回值类型可以不同也可以相同)
A public getSort(float x) 没有返回类型 一定是构造函数 不能重载
B int getSort(int y)(参数一样不是重载)
C double getSort(int x,int y) (参数不一样是重载)
D void get(int x, int y)
7、 下列哪个是合法的Java标识符:(两个答案) B C
A Tree&Glasses
B FirstJavaApplet
C _$theLastOne
D 2735
8、 设 a = 8,则表达式 a >>> 2 的值是:C (无符号右移动)左移是乘 右是除
A 1
E 2
B 3
C 4
9、 下面的程序名为Studentjava
1 public class Student
2 {
3 private String name;
4 public Student(String s_name) //1
5 {
6 name = s_name; //2
7 }
8 public static void main(String args[])
9 {
10 Student s = new Student(); //3
11 }
12 }
使用如下指令编译:javac Studentjava将会得到什么结果?
A 将会顺利通过编译,并将产生一个Studentclass的类文件
F 编译时在//3处出错
B 编译时在//2处出错
C 编译时在//1处出错
10、 下面选项中能把字符串转换成float类型的是?: B
A float value = new Float(str); 创建一个对象
B float value = FloatparseFloat(str);
C float value = FloatfloatValue(str);
D float value = (new Float())parseFloat(str);
11、 下边程序运行的结果是? 实例化子类对象要看父类
1class Base {
2 Base() { Systemoutprint("Base"); }
3 }
4 public class Alpha extends Base {
5 public static void main( String[] args ) {
6 new Alpha();
7 new Base();
8 }
9 }
A Base
B BaseBase
C 程序编译失败
D 程序运行但没有任何输出
12、 下面程序运行的结果是? A 值传递
1 public class X {
2 private static int a;
3 public static void main(String [] args) {
4 modify(a);
5 Systemoutprintln(a);
6 }
7 public static void modify(int a) {
8 a++;
9 }
10 }
A 0
B 1
C 程序编译失败
D 程序抛出异常
13、 下面程序运行的结果是?
1.String s = "Hello" + 9 + 1;+字符连接(9+1+”hello”=10hello(string类型))
2.Systemoutprintln(s);
A Hello10
B Hello91
C Hello100
D 程序编译失败
14、 下列说法正确的是? C
A 一个子类可以有多个父类,一个父类也可以有多个子类
B 一个子类可以有多个父类,但一个父类只可以有一个子类
C 一个子类可以有一个父类,但一个父类可以有多个子类
D 上述说法都不对
15、 下面程序运行的结果是?
1 abstract class AbstrctIt {
2 abstract float getFloat ();
3 }
4 public class AbstractTest extends AbstractIt {
5 private float f1= 10f;
6 private float getFloat () {return f1;} 权限只能扩大不能缩小
7 }
A 编译成功
B 在第6行产生一个运行时异常
C 在第6行产生一个编译错误
D 在第2行产生一个编译错误
16、 下面的程序输出的结果是:B
1 public class A implements B {
2 public static void main(String args[]){
3 int i;
4 A c1 = new A();
5 i= c1k;
6 Systemoutprintln("i="+i);
7 }
8 }
9 interface B {
10 int k = 10;接口(抽象方法和静态常量的结合)里的静态常量 public static final
11 }
A i=0
B i=10
C 程序有编译错误
D i=true
17、 方法methodA返回类型是:
1 public class returnIt{
2 returnType methodA(byte x, double y) {
3 return (short) x/y 2;
4 }
5 }
A int
B byte
C long
D double
18、 下面的程序输出的结果是:A
1 public class IfTest {
2 public static void main(string[]args) {
3 int x = 3;
4 int y = 1;
5 if (x = y) =:赋值运算符 (==)比较运算符
6 Systemoutprintln(“Not equal”);
7 else
8 Systemoutprintln(“Equal”);
9 }
10}
A Equal
B Not Equal
C 编译失败
D 程序没有任何输出结果
19、 在下面程序中,变量i可以使用的数据类型是:(两个答案) A B
1 switch (i) {
2 default:
3 Systemoutprintln(“Hello”);
4 }
A char
B byte
C float 不行
D double 不行
E object
20、 应用程序的main方法中有以下语句,则输出的结果是:A
1 int[] x={122,33,55,678,-987};
2 int y=x[0];
3 for(int i=1;i<xlength;i++){
4 if(x[i]>y)
5 y =x[i];
6 }
7 Systemoutprintln(y);
A 678
B 122
C -987
D 33
21、 程序输出的结果是?C
1 public class X {
2 public static void main(String [] args) {
3 try {
4 badMethod();
5 Systemoutprint(“A”);
6 }
7 catch (Exception ex) {
8 Systemoutprint(“B”);
9 }
10 finally {
11 Systemoutprint(“C”);
12 }
13 Systemoutprint(“D”);
14 }
15 public static void badMethod() {}
17 }
A AB
B BD
C ACD
D ABCD
22、 程序输出的结果是?D
Systemoutprintln(4 | 3);: 二进制 安位或
A 0
B 1
C 5
D 7
23、 关于下述程序哪个是正确的构造器重载(两个正确)
1 public class ConstOver {
2 public ConstOver (int x, int y, int z) {
3 }
4 }
A ConstOver ( ) { }
B protected int ConstOver ( ) { } 构造函数没有返回类型
C private ConstOver (int z, int y, byte x) { }
D public Object ConstOver (int x, int y, int z) { }
E public void ConstOver (byte x, byte y, byte z) { }
24、 下述程序编译运行后在//1和//2处分别打印出什么值?
1 public class Test9静态变量和静态块只会初始化一次
2 {
3 static int i = 1;
4 static
5 {
6 i++;
7 }
8 public Test9()
9 {
10 i++;
11 }
12 public static void main(String[] args)
13 {
14 Test9 t1 = new Test9();
15 Systemoutprintln(t1i); //1
16 Test9 t2 = new Test9();
17 Systemoutprintln(t2i); //2
18 }
19 }
A 2和2
B 3和3
C 3和4
D 4和3
25、 下列答案正确的是:两个答案 A B
int[] arr = new int[10];
A arr[0] 是null
B arr[10]是0
C arr[9] 是0
D arr[0] 是0
26、 编译器能够为类A分配一个默认构造器的是?(两个答案) A D
A class A {}
B class A {
public A() { }
}
C class A {
public A(int x) { }
}
D class Z { }
class A extends Z {
void A() { }
}
27、 下面程序运行的结果是:
1public class Foo {
2public int i = 3;
3 public static void main(String args[]) {
4 Object o = new Foo();
5 Foo foo = (Foo)o;
6 Systemoutprintln("i = " + fooi);
7 }
8}
A i=3
B i = 0
C 程序编译错误
D 程序运行时抛出异常
28、 下面程序运行的结果是:
1 class Exc0 extends Exception { }
2 class Exc1 extends Exc0 { }
3 public class Test {
4 public static void main(String args[]) {
5 try {
6 throw new Exc1();
7 } catch (Exc0 e0) {
8 Systemoutprintln("Ex0 caught");
9 } catch (Exception e) {
10 Systemoutprintln("exception caught");
11 }
12 }
13 }
A Ex0 caught
B exception caught
C 编译失败,错误在第2行
D 编译失败,错误在第6行
29、 下面表达式计算的结果和返回值类型分别是?(两个答案) B D
Mathceil(01 + Mathfloor(Mathrandom())); 0-1之间的小数
A 00
B 10
C float
D double
E 一个随机数
30、 下面程序运行的结果是:
1public interface Test {
2 int frood = 42;
3}
4class TestImpl implements Test {
5 private static int frood;
6 public static void main(String[] args) {
7 Systemoutprintln(++frood);
8 }
9}
A 0
B 1
C 42
D 43
答题卡
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
二、编程题
注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
1、 输出n行n列的空心矩形(要求使用嵌套循环),当n=5时,运行结果显示如下:
#####
# #
# #
# #
#####
2、 设计Java程序
假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
3、 设计Java程序,实现如下功能:
获取50个0至300之间的随机整数,并输出到屏幕上;
取出上面50个整数中的偶数,倒序排列输出到屏幕上。
4、 编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。
这道题的答案是C。
double[] num1; //定义一个double类型的数组num1
double num3=20; //定义一个double类型的变量并赋值为20
int num2=5; //定义一个int类型的冰凉num2,并赋值为5
num1=new double[num2+1];
//给double类型的数组num1赋值,并初始化为5+1个大小, num2=5,所以是5+1
num1[num2]=num3;
//上面这句翻译过来就是:数组num1[5]=20 。 由于数组下标从0开始,所以下标为5的元素是最后一个元素。 所以答案是C
import javautilRandom;
import javautilScanner;
public class T {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(Systemin);
int difficulty;//难度
int mode;//运算类型
int answer;//答案
int amount;//挑战题目数量
int score = 0;//得分
Systemoutprintln("请输入难度(1:一位数、2:两位数、3:三位数):");
difficulty = innextInt();
Systemoutprintln("请输入运算类型(1:加、2:减、3:乘、4:除):");
mode = innextInt();
Systemoutprintln("请输入想要挑战的题目数量:");
amount = innextInt();
Random random = new Random();
for (int i = 0; i < amount; i++) {
if (difficulty == 1) {
if (mode == 1) {
int x = randomnextInt(10);
int y = randomnextInt(10);
Systemoutprintln("第" + i + "题:");
Systemoutprint(x + " + " + y + " = ");
answer = innextInt();
if (answer == (x + y)) {
Systemoutprintln("答对了\n");
score++;
} else {
Systemoutprintln("答错了,答案是:" + (x + y) + "\n");
}
} else if (mode == 2) {
int x = randomnextInt(10);
int y = randomnextInt(10);
Systemoutprintln("第" + i + "题:");
Systemoutprint(x + " - " + y + " = ");
answer = innextInt();
if (answer == (x - y)) {
Systemoutprintln("答对了\n");
score++;
} else {
Systemoutprintln("答错了,答案是:" + (x - y) + "\n");
}
} else if (mode == 3) {//乘法
} else if (mode == 4) {//除法 考虑小数的问题
} else {
throw new Exception("运算类型输入值不合法");
}
} else if (difficulty == 2) {
if (mode == 1) {
int x = randomnextInt(100);
int y = randomnextInt(100);
Systemoutprintln("第" + i + "题:");
Systemoutprint(x + " + " + y + " = ");
answer = innextInt();
if (answer == (x + y)) {
Systemoutprintln("答对了\n");
score++;
} else {
Systemoutprintln("答错了,答案是:" + (x + y) + "\n");
}
} else if (mode == 2) {
} else if (mode == 3) {//乘法
} else if (mode == 4) {//除法 考虑小数的问题
} else {
throw new Exception("运算类型输入值不合法");
}
} else if (difficulty == 3) {
if (mode == 1) {
int x = randomnextInt(1000);
int y = randomnextInt(1000);
Systemoutprintln("第" + i + "题:");
Systemoutprint(x + " + " + y + " = ");
answer = innextInt();
if (answer == (x + y)) {
Systemoutprintln("答对了\n");
score++;
} else {
Systemoutprintln("答错了,答案是:" + (x + y) + "\n");
}
} else if (mode == 2) {
} else if (mode == 3) {//乘法
} else if (mode == 4) {//除法 考虑小数的问题
} else {
throw new Exception("运算类型输入值不合法");
}
} else {
throw new Exception("难度输入值不合法");
}
}
Systemoutprintln("挑战结束,您的分数为:" + score);
}
}
我就只举了加法的例子,其他运算的写法都是类似的,你照葫芦画瓢即可
运行结果:
希望对你有用~~嘿嘿~~(我写的是控制台的程序,没用SWING做界面)
import javaio;
import javautilArrays;
import javautilScanner;
public class AbsenteeNote {
public static void main(String[] args) throws IOException {
int select = 0;
select = welcome();
if (select == 1 || select == 2) {
writeLetter(select);
} else {
viewLetter();
}
}
private static int welcome() {
int num = 0;//用于第一层菜单的选择
int num1 = 0;//用于第二层菜单的选择
do {
Systemoutprintln("1:编写请假条");
Systemoutprintln("2:查看请假条");
Systemoutprint("请选择功能号:");
Scanner in = new Scanner(Systemin);
num = innextInt();
} while (num != 1 && num != 2);//若输出的数字不为1或2,则继续选择
if (num == 1) {
do {
Systemoutprintln("1:病假");
Systemoutprintln("2:事假");
Systemoutprint("请选择功能号:");
Scanner in = new Scanner(Systemin);
num1 = innextInt();
} while (num1 != 1 && num1 != 2);
return num1;
} else {//当输入的是2(查看请假条),则任意返回一个值。
return 0;
}
}
private static void viewLetter() {//查看请假条
File letter = new File("c:\\Letter\\Lettertxt");
try {
FileInputStream view = new FileInputStream(letter);
byte b[] = new byte[viewavailable()];
while (viewread(b) != -1) {
FilterOutputStream viewContain=new FilterOutputStream(Systemout);
Systemoutprintln("假条内容如下:");
viewContainwrite(b);
viewContainclose();
}
viewclose();
} catch (FileNotFoundException e) {
Systemoutprintln("文件不存在!!!");
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
}
private static void writeLetter(int num1) {//写请假条
String str = new String();
if (num1 == 1)
str = "我因发烧,请假一天 ";
else
str = "参加婚礼,于410请假一天";
File letter = new File("c:\\Letter\\Lettertxt");
StringBuilder contain = new StringBuilder();
Scanner in = new Scanner(Systemin);
Systemoutprint("寄信人地址:");
containappend("寄信人地址:" + innextLine() + "\r\n");
Systemoutprint("收件人地址:");
containappend("收件人地址:" + innextLine() + "\r\n");
Systemoutprint("签名:");
containappend("签名:" + innextLine() + "\r\n");
Systemoutprint("日期:");
containappend("日期:" + innextLine() + "\r\n");
containappend(str);
byte[] input = containtoString()getBytes();
try {
FileOutputStream out = new FileOutputStream(letter);
outwrite(input, 0, inputlength);
Systemoutprintln("请假条生成成功!!!");
outclose();
} catch (FileNotFoundException e) {
Systemoutprintln("文件不存在!!!");
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
}
}
注意:还不是完整的文档,太长了不能全帖完。要的话找我!^_^
《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、Systemin是标准输入流,能用read方法读取键盘的输入。 ( )
13、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。( )
二、填空题
1、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:
(1) x &&y||!z&&ture (2) !x||!y&&!z
(3) (!x&&!y)||(!y&&!z) (4) x&&y||true&&!z
2、求下面表达式的值:
(1) 已知x=2、y=6、z=50,求x+(int)y/2z%4
(2) 已知x=123,求x/100+x%100/10+x%10
(3) 已知x=160、y=28、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)>(cc)&&b==c||c>b 的值为 。
(6) 设 int a=3,b=5,c=7;,表达式a>c||c>b!=0&&c==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:\testtxt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。
9、Container 的________方法可以将_______组件加入容器。
10、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。
11、使用 方法为组件设置布局管理器,JFrame的缺省布局管理器是 ,内容面板的缺省布局管理器是 。
12、JavaswingJFramegetContentPane()的返回类型是 。
13、数据越界抛出的异常类是 ,整数除零抛出的异常类是 ,算术溢出抛出的异常类是 。
三、选择题
1、 下面哪些是不合法的变量名称? ( )
A) 2D B) True C) _name D) T1 E) while-ture
2、下列变量定义不正确的是: ( )
A) boolean status=false; B) float d = 456;
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();
exchange(exstr,exch);
Systemoutprintln(exstr+"and"+exch[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) 建立数据库连接时,必须加载驱动程序,可采用ClassforName()实现
B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法
C) 建立数据库连接时,必须要进行异常处理
D) JDBC中查询语句的执行方法必须采用Statement类实现
四、程序阅读题
1、阅读下面的程序,程序保存为Testjava:
1) public class Test
2) {
3) public static void main(String[] args)
4) {
5) Systemoutprintln(args[2]);
6) }
7) }
以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?
2、阅读下面的程序:
① public class Test{
② public static void main(String[] a){
③ int i = IntegerparseInt(a[0]);
④ switch (i) {
⑤ case 1:Systemoutprintln("Frist season");break;
⑥ case 2:Systemoutprintln("Second season");
⑦ case 3:Systemoutprintln("3th season");break;
⑧ case 4:Systemoutprintln("Last season");
⑨ }
⑩ }
⑪ }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 2 运行得到的输出结果是什么?
3、阅读下面的程序:
① public class Test{
② public static void main(String[ ] args) {
③ int x,y=2,i=0,j=0;
④ if(argslength<2) Systemexit(-1);
⑤ x = IntegerparseInt(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++;
⑭ }
⑮ Systemoutprintln("i="+i);
⑯ Systemoutprintln("j="+j);
⑰ }
⑱ }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 1 2 3 运行得到的运行结果是什么?
4、阅读下面的程序,程序保存为Testjava:
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) osShow( );
10) }
11) protected Test(short aValue) { mValue = aValue; }
12) public void Show( ) { Systemoutprintln(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;
}
Systemoutprintln(All);
}
}
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
6、阅读下面的程序,程序保存为Testjava:
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||(i<50)) b = false;
11) else b = true;
12) j=j+1;
13) i=i-1;
14) }
15) Systemoutprintln(j);
16) }
17) }
上面的程序经编译,运行后输出的结果是什么?
7、阅读下面的程序:
1) public class test
2) {
3) public static void main(String argv[])
4) {
5) Bird b = new Bird();
6) bFly(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) Systemoutprintln("Flying"+Type);
16) }
17) }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
8、阅读下面的程序:
1) abstract class Base{
2) abstract public void myfunc();
3) public void another(){
4) Systemoutprintln("Another method");
5) }
6) }
7) public class Abs extends Base{
8) public static void main(String argv[]){
9) Base b = new Abs();
10) banother();
11) }
12) public void myfunc(){
13) Systemoutprintln("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) Systemoutprintln(si);
14) }
15) }
上面的程序经编译后,运行结果是什么?
10、阅读下面的程序,程序保存为Testjava:
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) Systemoutprintln("The index is "+index);
9) }
10) }
11) }
上面的程序经编译,运行后输出的结果是什么?
五、问答题
1、 设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少?
(1) while(x<=y) x=2x;
(2) while(y/x>5) if(y-x>25) x=x+1; else y=y/x;
(3) do{x=2x;} while(x<y);
(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的值为100)
setRadius(有一个double参数,将radius的值设为这个新值),
getRadius (没有参数,返回radius的值)
sameSize(有一个参数,是另一个Circle对象的引用,如果两个Circle对象的radius的差小于0001,则返回true)
5、下面的代码使用上题的Circle类,请回答下面的问题:
public class CircleTester {
public static void main(String[] args) {
Circle c1,c2,c3;
c1 = new Circle();
c2 = new Circle();
Systemoutprintln(“are same is: “+c1sameSize(c2));
c2setRadius(200);
comparereset();
Systemoutprintln(“are same is: “+c1sameSize(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={45, 60, 01, 22};
double[] array2;
double num1;
int pos=3;
要求对下面的3组语句,先回答是否合法(即没有编译错误),如果是合法的,请描述程序运行的效果,如果不合法,请说明理由
1) num1 = array1[2];
ArrayMethodsreplace(array1, pos, num1);
ArrayMethodsdisplay(array1);
2) num1 = array1[0];
ArrayMethodsfill(array1, pos, num1);
ArrayMethodsdisplay(array1);
3) num1 = array1[1];
array2=new double[num1];
ArrayMethodsdisplay(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程序Suansujava,定义两个整型变量a和b,使用构造函数初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商 (方法名为DivAB)的方法。
用另一个java程序TestSuansujava测试Suansujava定义的方法,并在屏幕上输出结果。
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:\test1txt的内容拷贝到C:\test2txt中。
10、编写一个程序,统计给定文件中每个字母出现的频率。
11、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。
12、用图形界面设计一个简单的计算器。
13、用图形界面实现简单的银行柜台业务,包含创建新帐户、取款、存款、查询帐户余额等业务。
以上就是关于java练习题求解希望有完整代码全部的内容,包括:java练习题求解希望有完整代码、求JAVA练习题几他的答案、哪儿有java练习题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)