JAVA计算机二级考试第一套

JAVA计算机二级考试题目及答案

这些题目是仅仅是代表我自己的解法

第一套

一、大题01
1、在Test01类的main方法中,补充完整代码,实现从键盘输入一个正整数整数时,求大于零并且小于或等于这个正整数的所有奇数的和,并在控制台输出计算结果。如果输入不是正整数则输出提示。程序运行结果之一如下图所示
2、保存文档。(10分)

import java.util.Scanner;
/** 
 * 从键盘输入一个正整数,求大于零并且小于或等于这个正整数的所有奇数的和,并在控制台输出计算结果。如果输入不是正整数,则输出提示。
 */

public class Test01 {

	public static void main(String[] args) {
		int num = 0;
		int sum = 0;

		System.out.println("请输入一个正整数:"); 
		Scanner sc = new Scanner(System.in);  
		try {
			num = sc.nextInt(); 
			if (num % 1 == 0) {   //  判断输入是否为正整数   -----------2分
				for (int i = 1;i <= num; i++) {//设置遍历统计条件-----2分

					if (i % 2 == 1) {  //判断是否为奇数----------2分
						sum = sum + i;//求和------------2分
					}
				}
				
				System.out.println("大于零并且小于或等于" + num + "的所有奇数的和是:" + sum); 
			} else {
				System.out.println("你输入的不是正整数");
			}
		} catch (Exception e) { //输入异常处理 ----2分  
			System.out.println("你的输入不符合要求,无法计算");
		}
	}
}

二、大题02
补充下面程序接受用户输入的一串字符串,将其转化为全部小写,然后计算26个小写英文字母在字符串中首次出现的位置并输出结果。(15分)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class TestNum1 {
	public static void main(String[] args) throws IOException {
		BufferedReader sc=new BufferedReader(new InputStreamReader(System.in));
		System.out.println("请输入一串字符串");
		String sID= sc.readLine();//接受用户输入 
		sID = sID.toLowerCase();//转成全部小写字母 
		System.out.println("您输入的是:"+sID);
		int index= 0;// 记录位置
		for(int i=0;i<26;i++){
			char c= (char) (97+i);//每一个字母
			index = sID.indexOf(c);// 找出第一次出现位置
			if(index>=0){//判断是否出现
				System.out.println(c+"首次出现的位置为:"+index);
			}else{
				System.out.println(c+"没出现");
			}
		}
	}

}

三、大题03
写一个MyMath类,提供静态函数void fun(int x)对x(一个大于或等于3的正整数,若x小于3将直接退出),判断它是不是一个素数(素数是指除了1和该数本身之外,不能被其它任何整数整除的数。例如,13是素数。因为它不能被2,3,4,…,12整除。)如果是素数则打印出“x是素数”,如果不是则打印“x不是素数”。注意打印结果中x用具体数值取代,例如“13是素数”。在main函数中,调用这个函数计算出结果。(20分)

class MyMath {
	  void fun(int x) { // #1
		int r;// 存放余数
		if (x < 3)
			 return; // #2 小于3 程序退出
		for (int i=2; i<x; i++) {// #3 
			r = x%i;// #4 得到余数
			if ( r == 0) { // #5 余数为零
				System.out.println(x + "不是素数");
				return ;// #6 程序退出
			}
		}
		System.out.println(x + "是素数");

	}
}

public class Test31 {

	public static void main(String[] args) {
		int num=18;
		MyMath my = new MyMath();//利用fun函数计算num是不是素数 #7(3分)
		my.fun(num);
	}

}

四、大题04
1、打开Test10.java按说明和要求补充完成代码。模拟实现用户使用某系统的权限分级管理。 程序包含以下对象:
*interface CanRead 读接口:通过该接口,可具体定义用户的浏览权限
*interface CanWrite 写接口:通过该接口,可具体定义用户的写入权限
*interface CanAlter 改接口:通过该接口,可具体定义用户的修改权限
*class Visitor 访客类,实现读接口,具有浏览特定信息的权限;
*class NormalUser 普通用户类,继承了访客的所有权限,并且实现写接口;
*class Administrator管理员类,继承了普通用户的所有权限,并且实现了改接口。
2、程序运行时,选择输入用户身份,创建对应的用户,在控制台输出相应用户相关信息。若输入指令非法,控制台输出错误提示,并提醒继续输入。
根据运行结果图和提示,补全代码调试通过。程序运行可能结果之一如下图所示:
3、保存类文档。(25分)
在这里插入图片描述

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test10 {
	public static void main(String[] args) {
		Visitor vs = null;  
		boolean flag = true;	
		do {
			Scanner sc = new Scanner(System.in);  
			System.out.println("输入你的身份,1 :代表访客;2:代表普通用户;3:代表管理员");
			try{
			int i = sc.nextInt();
			if (i==1 || i==2 || i==3) {   //判断输入指令是否合法-----3分
				flag = false ; //根据要求设置循环输入开关的状态 ---------------2分
				switch (i) {   //设置分支选择变量-------------------------2分
				case 1:
					vs =  new Visitor();  //根据输入的指令创建相应的对象  -----2分
					break;
				case 2:
					vs = new NormalUser() ;//根据输入的指令创建相应的对象  -----2分
					break;
				case 3:
					vs =  new Administrator();//根据输入的指令创建相应的对象---2分
					break;
				}
				/*以下代码通过父类型输出特定对象的特性信息*/
				System.out.println("你的身份是:"+vs.getType()); //-----2分
				
				/* 以下代码,根据上面已经创建出的具体对象访问该对象的所有权限信息*/
				if (vs instanceof Administrator) {
					Administrator admin = (Administrator) vs; //转换为相对应的对象----2分				
					System.out.println(admin.read());
					System.out.println(admin.write());
					System.out.println(admin.alter());
				} else if (vs instanceof NormalUser) {
					NormalUser nu = (NormalUser) vs;  //转换为相对应的对象------2分					
					System.out.println(nu.read());
					System.out.println(nu.write());
				} else if (vs instanceof Visitor) {					
					System.out.println(	vs.read());  //转换为相对应的对象-------2分
				}
			}else{				
				System.out.println("输入的指令不正确,请重新选择输入!");
			}
			}catch(InputMismatchException ime){				
				System.out.println("输入的指令不正确,请重新选择输入!");
			}finally{
				sc = new Scanner(system.in);		; //io释放资源 -------------------------------------2分
			}
		} while (flag); // 设计一个控制程序是否循环输入的开关变量 ---------------  2分
	}
}

interface CanRead {
	public String read();
}

interface CanWrite {
	public String write();
}

interface CanAlter {
	public String alter();
}

class Visitor implements CanRead {	
	@Override
	public String read() {
		return "具备浏览相关信息权限!";
	}
	public String getType() {
		return "访客!";
	}	
}

class NormalUser extends Visitor implements CanWrite {
	@Override
	public String write() {
		return "具备写入相关信息权限!";
	}
	@Override
	public String getType() {
		return "普通用户!";
	}
}

class Administrator extends NormalUser implements CanAlter {
	@Override
	public String alter() {
		return "具备修改相关信息权限!";
	}
	@Override
	public String getType() {
		return "管理员!";
	}
}

仅代表个人解法

不是标准答案!不是标准答案!不是标准答案!

原题:
链接:https://pan.baidu.com/s/1ncaMFEI7qT71PlKPi2QZhA
提取码:3nuf

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二级java 公共基础知识部分30分 专业语言部分 70分 Java语言程序设计 基本要求: 1. 掌握Java语言的特点,实现机制和体系结构。 2. 掌握Java语言中面向对象的特性。 3. 掌握Java语言提供的数据类型和结构。 4. 掌握Java语言编程的基本技术。 5. 会编写Java用户界面程序。 6. 会编写Java简单应用程序。 7. 会编写Java小应用程序(Applet)。 8. 了解Java的应用。 考试内容: 一、 Java语言的特点和实现机制 二、 Java体系结构 1. JDK目录结构。 2. Java的API结构。 3. 开发环境设置。 4. Java程序结构。 三、 Java语言中面向对象的特性。 1. 面向对象编程的基本要领和特征。 2. 类的基本组成和使用。 3. 对象的生成、使用和删除。 4. 接口与包。 5. Java类库中常用类和接口。 四、 Java简单数据类型及运算 1. 变量和常量。 2. 基本数据类型及转换。 3. Java类库中对简单数据类型的类包装。 4. 运算符和表达式运算。 5. 数组和字符串。 五、 Java语言的基本语句 1. 表达式语句。 2. 条件语句。 3. 循环语句。 4. 注释语句。 5. 异常处理。 六、 Java编程技术基础 1. 线程的要领和使用。 2. 同步与共享。 3. 串行化要领和目的。 4. 串行化方法。 5. 串行化的举例。 6. 基于文本的应用。 7. 文件和文件I/O。 8. 汇集(collections)接口。 七、 编写用户界面程序 1. 图形用户界面。 2. AWT库简介。 3. SwingF简介。 4. AWT与Swing比较。 八、 编写小应用程序(Applet) 1. 小应用程序概念。 2. 安全机制。 3. Applet执行过程。 4. Applet的图形绘制。 5. Applet的窗口。 6. Applet的工作环境。 7. Java Application 和Applet。 九、 Java的应用 十、 J2DK的下载和操作。 考试方式: 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。 上机操作:90分钟,满分100分。 上机题目类型要求: (1) 基本操作。 (2) 简单应用。 (3) 综合应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值