java程序设计期末复习题(5)

2019-08-03 13:56

int[] a={42,99,5,63,95,36,2,69,200,96}; System.out.println(\排序前的数据序列:\ShowArray(a); Sort(a);

System.out.println(\排序后的数据序列:\ShowArray(a); }

public static void Sort(int[] x) { int w;

for(int i=1; i

for(int j=0; jx[j+1])

{ w=x[j]; x[j]=x[j+1]; x[j+1]=w; } /* if(i==1||i==2) ShowArray(x); if(i==2) break; */ } }

public static void ShowArray(int b[]) {

for(int i=0; i

问题: 如果将方法Sort( )中的一对注释符(/* */)去掉,程序输出的结果是什么?

4、写出以下程序的功能。 将数组元素从大到小排序并显示到屏幕上 public class ABC {

public static void main(String args[ ]){

int i , j ;

int a[ ] = { 9,7,5,1,3};

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

int k = i;

for ( j = i ; j < a.length ; j++ )

if ( a[j]>a[k] ) k = j;

int temp =a[i]; a[i] = a[k]; a[k] = temp;

}

for ( i =0 ; i

System.out.print(a[i]+\

} }

System.out.println( );

5、假设已有一个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);

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

7.写出以下程序的功能。计算命令行参数串大小写字母的个数并在屏幕上显示结果 class Test {

public static void main(String[] args)

{

String s; char c;

int upper,lower; upper=lower=0; s=args[0];

for (int i=0;i

c=s.charAt(i);

if(c>='a' && c<='z') if(c>='A' && c<='Z')

lower++; upper++;

}

}

System.out.println(upper+”,”+lower);

8.以下程序段的输出结果为 1 2 3 4 5 8 9 。

public class C

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

int i , j ;

int a[ ] = { 2,1,4,8,9,5,3};

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

int k = i;

for ( j = i ; j < a.length ; j++ )

if ( a[j]

int temp =a[i]; a[i] = a[k]; a[k] = temp;

}

for ( i =0 ; i

System.out.print(a[i]+\

}

System.out.println( ); }

9.下面程序的功能是输出数组各元素的和。 import java.awt.Graphics; import java.applet.Applet;

public class SumArray extends Applet {

float[] a; a= new _______[6]; float sum=0.0f; public void init( ) {

for ( int j = 0; j < a.length; j++ ) a[j] = j+1;

for ( int i = 0 ; i < a.length; i++ ) sum+= a[i]; }

public void paint( Graphics g ) {

g.drawString( \} }

10.写出以下程序的功能。 将数组元素从大到小排序并显示到屏幕上 public class ABC {

public static void main(String args[ ]){

int i , j ;

int a[ ] = { 9,7,5,1,3};

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

int k = i;

for ( j = i ; j < a.length ; j++ )

if ( a[j]>a[k] ) k = j;

int temp =a[i]; a[i] = a[k]; a[k] = temp;

}

for ( i =0 ; i

System.out.print(a[i]+\

} }

System.out.println( );

11.判断下面的说法是否正确。如果错误,请说明原因 ①一个数组中可以存放多个不同类型的值 ②数组下标通常是float型的

③二维数组其实质是一维数组的一维数组 12.找出并改正下面各程序段中的错误 ①设int b[] = new int [10];

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

②设 int a[][] = { { 1, 2 } {3, 4} }; a[ 1, 1] = 5;

③int a[10] = new int[ 10 ]; 13.写出下面代码的输出结果

int[][] a = new int[10][5]; System.out.println(a.length); System.out.println(a[3].length);

b[ i ] = 1;

14.设有一个名为table的数组,试执行以下任务

a)声明并创建该数组为3行3列的整数数组。 b)该数组包含多少个元素?

c)用for结构将数组的每个元素初始化为各自下标的和(假设整数变量i,j为控制变量)

15.将一个数组中的值按逆序重新存放。假定原来的顺序为4,1,3,5,9,2,1。要求改为1,2,9,5,3,1,4。 16.现有类Book定义如下 Class Book{ private String author;//作者 private String ISBN;//书号 private double price;//价格 public String getAuthor(){ return this.author; } //返回作者名 public void setAuthor(String author){ this.author = author; } //设置作者名 public String getISBN(){ return this.ISBN; } //返回书号 public void setISBN(String ISBN){ this.ISBN = ISBN; }//设置书号 public double getPrice() { return this.price; }//返回书价 public void setPrice() { this.price = price ; }//设置书价 } 请用1个数组存放随机产生的10个书籍对象的数据,并显示其中书价最高图书的书号。(要求使用对象数组完成) 17. 写出比较2个字符串是否相同的方法,并加以说明。

18. 写一个输出整数10以内的奇数的Java程序,每个输出项之间空一个制表符位置。

第八章 界面编程

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

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

3、FlowLayout布局管理器按照组件加入容器的次序从( )到( )排列组件。 a) 上、下 b) 右、左 c) 左、右 d) 前、后

4. 利用AWT基本组件创建一个Frame窗口,在窗口中放一个按钮1(Button1)和一个面板(Panel1),在面板上放另一个按钮2(Button2)。

5、阅读下面的程序,写出带划线语句的注释,并写出运行结果。 import java.awt.*; import javax.swing.*;

public class Test {// 继承JFrame private int screenOffset = 80; public Test() {

super( \ ; // 设置JFrame的大小为300*300 show(); // }

public void paint( Graphics g ) {

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

int origin = screenOffset + 80 - i * 10; g.drawOval(origin, origin, i * 20, i * 20); } }

public static void main( String args[] ) {

Test application = new Test();

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); } }

6、下列说法哪个是正确的? ( ) A) BorderLayout是面板的缺省布局管理器

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


java程序设计期末复习题(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:精神病管理经验材料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: