和大家分享几道基础的异常处理、ArrayList类的处理方法、 线程的基本方法的题目,感兴趣的读者可以自己试着写下,题目较为简单,我在底下的图片中给出了自己做的结果仅供参考,如有误请批评指正,也欢迎大家一起交流。
1.有如下程序,是异常处理(Try/Catch)的例子,完成的功能为捕获异常,并进行处理(输出错误信息)。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java
public class Main {
public static void main(String[] args) {
【代码1】{
int i = 0;
i = 3 / i;// 将产生算术运算异常。
} catch (ArithmeticException e)// 找到了匹配的异常,执行该catch块。
{
System.out.println("发生了ArithmeticException异常");
} 【代码2】 (ArrayIndexOutOfBoundsException e)// 不是匹配的异常,则不会再捕获
// 异常,如果发生数组下标(索引)超出范围所产生的异常,将执行该catch块。
{
System.out.println("发生了ArrayIndexOutOfBoundsException异常");
} catch (Exception e)
// 前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。
{
System.out.println("发生了异常");
} 【代码3】 {
{
System.out.println("执行Finally");
}
}
}
}
2.有如下程序,是异常处理(Try/Catch)的例子,完成的功能为捕获异常,并进行处理(输出错误信息)。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 键盘输入数n作为分母,做除法
Scanner in = new Scanner(System.in);
int y = 0;
int n = 0;
【代码1】 {
n = in.nextInt();
y = (3 / n);
} catch (【代码2】 e) {//输入数据不匹配
// TODO Auto-generated catch block
e.printStackTrace();//显示堆栈数据
System.out.println("请输入整数!");
} catch (ArithmeticException e) {
// TODO Auto-generated catch block
System.out.println("请输入非零整数!");
} 【代码3】 (Exception e) {
// TODO Auto-generated catch block
System.out.println("出现了未知情况!");
}
System.out.println("程序正常结束!");
}
}
3.有如下程序,是自定义异常处理类(继承Exception)的例子,完成的功能为键盘输入字符串作为异常处理提示信息。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String st=in.nextLine();// 键盘输入字符串作为提示信息
try {
【代码1】 new MyException(st);
} catch (MyException e) {
// TODO Auto-generated catch block
System.out.println(st);
}
}
}
// 子类,继承Exception
class MyException extends 【代码2】 {
public MyException() {
super();
// TODO Auto-generated constructor stub
}
public 【代码3】(String s) {
super(s);
// TODO Auto-generated constructor stub
}
}
4.以下程序是有关ArrayList类的方法的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Show aShow =new Show();//显示元素
ArrayList【代码1】 list1=new ArrayList<String>();
【代码2】.ensureCapacity(200);
Scanner scanner=new Scanner(System.in);
list1.add("abc");
list1.add("123");
int i=scanner.nextInt();
list1.【代码3】(Integer.toString(i));//转换为字符串再加入
aShow.showList(list1);
Object[] ob=list1.【代码4】();//转换为字符串
String st1=(String)ob[0];//取出下标为0的元素
System.out.println("下标为0的元素为:"+st1);
String st2=list1.【代码5】(2);//取出下标为2的元素
System.out.println("下标为2的元素为:"+st2);
list1.【代码6】;//删除下标为1的元素
aShow.showList(list1);
ArrayList<String> arrayList1 = new ArrayList();
arrayList1.add(0, "The" );
arrayList1.add( 1, "fox" );
arrayList1.add( 1, "jumps" );
arrayList1.【代码7】(1,list1);//将list1加入arrayList1
aShow.showList(arrayList1);
}
}
//显示元素的类
class Show{
public void showList(ArrayList<String> s) {
Iterator<String> iter=s.iterator();
while(iter.hasNext()){
String st=iter.next();
System.out.print(st+" ");
}
System.out.println();
}
}
输入:
n个数
输出:
按程序运行结果
样例输入:
66
样例输出:
abc 123 66
下标为0的元素为:abc
下标为2的元素为:66
abc 66
The abc 66 jumps fox
5.以下程序是使用ArrayList类对键盘输入的整数数组进行排序,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Show aShow =new Show();//显示元素
ArrayList<【代码1】> list1=new ArrayList<Integer>();
Scanner in=new Scanner(System.in);
int n=in.nextInt();
list1.ensureCapacity(n);
while(n--【代码2】0){//输入n个数
int k=in.nextInt();
list1.add(k);//加入元素
}
【代码3】.sort(list1);//排序
aShow.showList(list1);
}
}
//显示元素的类
class Show{
public void showList(ArrayList<Integer> list1) {
Iterator<【代码4】> iter=list1.iterator();
while(iter.hasNext()){
int st=iter.next();
System.out.print(st+" ");
}
System.out.println();
}
}
6.下面程序通过arraylist存储数据,然后运用object中的方法计算散列码之和,但类HashCodeSum中部分代码缺失.请编写程序代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
int n=reader.nextInt();
ArrayList<Integer> a=new ArrayList<Integer>();
for(int i=0;i<n;i++)
a.add(reader.nextInt());
HashCodeSum x=new HashCodeSum();
System.out.println(x.sum(a));//显示结果
System.out.println("The Main class is end.");
}
}
class HashCodeSum{
int sum(ArrayList<Integer> a){
int sum=0;
/*-----请编写代码-----*/
/*-----编写的代码结束-----*/
return (sum);
}
}
输入:
n
n个数
输出:
n个数之和
The Main class is end.
样例输入:
3
1 3 4
样例输出:
8
The Main class is end.
7.有如下程序,是线程的例子,完成的功能为输出字符串。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main extends 【代码1】 {
static String s;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
【代码2】 t = new Main();
t.start();
}
public void 【代码3】() {
System.out.println(s);
}
}
8.有如下程序,是线程的例子,完成的功能为输出字符串。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java
import java.util.*;
public class Main 【代码1】 Runnable{
static String s;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
【代码2】 t=new Thread(new 【代码3】);
t.【代码4】;
}
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(s);
}
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章