Java二级--操作题详解(1)

目录

1.第一套:

1.1 基本操作:

1.2 题解分析:

2.1 简单应用:

2.2 解题分析:

3.1 综合应用:

3.2解题分析:


1.第一套:

1.1 基本操作:

在考生文件夹中存有文件名为Java_l.java的文件。
该程序的功能是:在对话框中打印如下结果:

Java_l.java是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

import javax.swing.JOptionPane;  //导入JOptionPane类public class Java_1 {public static void main( String args[] ){
//*********Found********____________________________________(null, "欢迎\n你\n参加\nJava\n考试!" );System.exit( 0 );  // 结束程序}
}
/* JOptionPane类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()
*/

1.2 题解分析:

这段Java代码是一个简单的程序,使用了javax.swing.JOptionPane类来展示一个消息对话框。这个对话框会显示一段欢迎信息,并告知用户参加Java考试。代码中缺失的部分是调用JOptionPane类的某个静态方法来显示这个对话框。
根据代码后面的注释,我们可以看到JOptionPane类有几种静态方法可以用来显示不同类型的对话框,例如showInputDialog()、showConfirmDialog()、showMessageDialog()和showOptionDialog()。根据程序的上下文,我们需要显示一个简单的消息,所以应该使用showMessageDialog()方法。
完整的代码应该像这样:

import javax.swing.JOptionPane;  // 导入JOptionPane类
public class Java_1 {public static void main( String args[] ){// 使用showMessageDialog()显示一个包含欢迎信息的对话框JOptionPane.showMessageDialog(null, "欢迎\n你\n参加\nJava\n考试!" );System.exit( 0 );  // 结束程序}
}


当这段代码运行时,它会弹出一个消息框,显示文本“欢迎\n你\n参加\nJava\n考试!”,其中\n是换行符,意味着文本会分成多行显示。null参数表示对话框没有父窗口,也就是说,它是一个独立的窗口。System.exit(0);这行代码的作用是关闭Java虚拟机,结束程序的运行。

2.1 简单应用:

在考生文件夹中存有文件名为Java_2.java的文件。
该程序的功能是:产生一个0到20之间的随机整数,然后计算并打印它的阶乘。提示:一个正整数n的阶乘等于所有1到n的乘积,即n!=123*…*n。
该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

import java.util.Random;public class Java_2
{public static void main(String args[]){Random random = new Random();float x = random.nextFloat();//产生0.0与1.0之间的一个符点数int n = Math.round(20*x);  //构造20以内的一个整数long f = 1 ;  //保存阶乘的结果int k = 1 ;  //循环变量//*********Found********do{__________;k++;//*********Found********}__________  	System.out.println(n+"!= "+f);}
}

2.2 解题分析:

在这段Java代码中,程序使用java.util.Random类来生成一个0.0到1.0之间的随机浮点数x,然后将其乘以20并使用Math.round()方法四舍五入到最接近的整数,得到一个1到20之间的整数n。接着,程序计算这个整数的阶乘,并将结果存储在长整型变量f中。
在代码中,有两个标记"Found"的地方需要填写代码。第一个标记处需要填写一个循环体内的代码,用于计算阶乘。第二个标记处需要填写循环的条件。
为了计算阶乘,我们需要在循环体内将f乘以k,并且循环应该继续执行直到k大于n。因此,代码应该如下所示:

import java.util.Random;
public class Java_2
{public static void main(String args[]){Random random = new Random();float x = random.nextFloat(); // 产生0.0与1.0之间的一个浮点数int n = Math.round(20 * x);  // 构造20以内的一个整数long f = 1 ;  // 保存阶乘的结果int k = 1 ;  // 循环变量do {f *= k; // 将f乘以kk++;    // k自增} while (k <= n); // 当k小于等于n时继续循环System.out.println(n + "! = " + f);}
}


在这段代码中,do循环会至少执行一次,然后while条件会检查k是否小于等于n。如果是,循环会继续执行;如果不是,循环结束,程序会输出n的阶乘结果。

3.1 综合应用:

在考生文件夹中存有文件名为Java_3.java的文件。
该程序的功能是:实现整数除法计算,要求在出现异常时,能抛出异常信息。考虑两种异常:

1)输入非数字除数

2)输入除法分母为0

该程序运行的三种结果状态如下:

1)输入两个合法整数:

2)输入非数字除数:

3)输入除数为0:

该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

import java.text.DecimalFormat;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;//*********Found********
public class Java_3 extends ________ implements ActionListener {private JTextField input1, input2, output;private int number1, number2;private double result;// 初始化public Java_3(){//*********Found********______( "示范异常" );Container c = getContentPane();c.setLayout( new GridLayout( 3, 2 ) );c.add( new JLabel( "输入分子",SwingConstants.RIGHT ) );input1 = new JTextField( 10 );c.add( input1 );c.add(new JLabel( "输入分母和回车",SwingConstants.RIGHT ) );input2 = new JTextField( 10 );c.add( input2 );input2.addActionListener( this );c.add( new JLabel( "计算结果", SwingConstants.RIGHT ) );output = new JTextField();c.add( output );setSize( 425, 100 );show();}//处理 GUI 事件public void actionPerformed( ActionEvent e ){DecimalFormat precision3 = new DecimalFormat( "0.000" );output.setText( "" ); // 空的JTextField输出//*********Found********___________ {         number1 = Integer.parseInt( input1.getText() );number2 = Integer.parseInt( input2.getText() );result = quotient( number1, number2 );//*********Found********output.setText(_______________________________);}catch ( NumberFormatException nfe ) {JOptionPane.showMessageDialog( this,"你必须输入两个整数","非法数字格式",JOptionPane.ERROR_MESSAGE );}catch ( Exception dbze ) {//*********Found********_______________________________( this, "除法异常","除数为零",JOptionPane.ERROR_MESSAGE );}}// 定义求商的方法,如遇除数为零时,能抛出异常。public double quotient( int numerator, int denominator )throws Exception{if ( denominator == 0 )throw new Exception();return ( double ) numerator / denominator;}public static void main( String args[] ){Java_3 app = new Java_3();app.addWindowListener(new WindowAdapter() {public void windowClosing( WindowEvent e ){e.getWindow().dispose();System.exit( 0 );}});}
}
/* JOptionPane类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()
*/

3.2 解题分析:

这段Java代码创建了一个简单的图形用户界面(GUI)程序,用于输入两个整数并计算它们的除法结果。程序使用了javax.swing包中的组件来构建用户界面,并处理了两种可能的异常:数字格式异常和除数为零的异常。
以下是代码的解析和填空:
第一个标记"Found"处需要填写的是类的继承关系。由于这个类创建了一个窗口,并且处理了用户界面事件,它应该扩展JFrame类并实现ActionListener接口。因此,应该填写JFrame。

public class Java_3 extends JFrame implements ActionListener {

第二个标记"Found"处需要填写的是构造函数中初始化窗口标题的代码。这里应该调用super来调用父类(JFrame)的构造函数,并传入窗口标题。因此,应该填写super("示范异常");。

public Java_3()
{

  super("示范异常"); // 设置窗口标题
第三个标记"Found"处需要填写的是处理用户输入的代码块。这里应该使用一个try块来捕获可能发生的异常。因此,应该填写try。

try {

第四个标记"Found"处需要填写的是将计算结果格式化并设置到输出文本框的代码。这里应该使用之前定义的DecimalFormat对象precision3来格式化结果,并调用output.setText()方法。因此,应该填写output.setText(precision3.format(result));。

output.setText(precision3.format(result));

第五个标记"Found"处需要填写的是处理除数为零异常的代码。这里应该使用JOptionPane.showMessageDialog()方法来显示一个错误消息对话框。因此,应该填写JOptionPane.showMessageDialog(this, "除法异常", "除数为零", JOptionPane.ERROR_MESSAGE);。

JOptionPane.showMessageDialog(this,"除法异常","除数为零",JOptionPane.ERROR_MESSAGE);

完整的代码如下:

import java.text.DecimalFormat;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Java_3 extends JFrame implements ActionListener {private JTextField input1, input2, output;private int number1, number2;private double result;public Java_3(){super("示范异常"); // 设置窗口标题Container c = getContentPane();c.setLayout( new GridLayout( 3, 2 ) );c.add( new JLabel( "输入分子", SwingConstants.RIGHT ) );input1 = new JTextField( 10 );c.add( input1 );c.add( new JLabel( "输入分母和回车", SwingConstants.RIGHT ) );input2 = new JTextField( 10 );c.add( input2 );input2.addActionListener( this );c.add( new JLabel( "计算结果", SwingConstants.RIGHT ) );output = new JTextField();c.add( output );setSize( 425, 100 );show();}public void actionPerformed( ActionEvent e ){DecimalFormat precision3 = new DecimalFormat( "0.000" );output.setText( "" ); // 清空输出文本框try {number1 = Integer.parseInt( input1.getText() );number2 = Integer.parseInt( input2.getText() );result = quotient( number1, number2 );output.setText(precision3.format(result));}catch ( NumberFormatException nfe ) {JOptionPane.showMessageDialog( this,"你必须输入两个整数","非法数字格式",JOptionPane.ERROR_MESSAGE );}catch ( Exception dbze ) {JOptionPane.showMessageDialog( this,"除法异常","除数为零",JOptionPane.ERROR_MESSAGE );}}public double quotient( int numerator, int denominator )throws Exception{if ( denominator == 0 )throw new Exception();return ( double ) numerator / denominator;}public static void main( String args[] ){Java_3 app = new Java_3();app.addWindowListener(new WindowAdapter() {public void windowClosing( WindowEvent e ){e.getWindow().dispose();System.exit( 0 );}});}
}

当用户在输入框中输入两个整数并按下回车键时,程序会尝试计算它们的除法结果,并在输出框中显示。如果输入的不是整数或者除数为零,程序会显示相应的错误消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Facebook商城号防封养号技巧,速看

由于Facebook商城的高利润空间&#xff0c;越来越多的跨境电商商家注意到它的存在。Facebook作为全球最大、用户量最大的社媒平台&#xff0c;同时也孕育了一个巨大的商业生态&#xff0c;包括广告投放、商城交易等。依托背后的大流量&#xff0c;Facebook商城起号较快&#xf…

【李沐精读系列】GPT、GPT-2和GPT-3论文精读

论文&#xff1a; GPT&#xff1a;Improving Language Understanding by Generative Pre-Training GTP-2&#xff1a;Language Models are Unsupervised Multitask Learners GPT-3&#xff1a;Language Models are Few-Shot Learners 参考&#xff1a;GPT、GPT-2、GPT-3论文精读…

MaterialApp

MaterialApp 是 flutter 中提供入口的一个类&#xff0c;是符合Material Design设计理念的入口Widget,使用 theme 属性来为整个 MaterialApp 设置主题。可以在这里设置路由,后续用到再详细学习。debugShowCheckedModeBanner属性经常提到&#xff0c;设置他为True后&#xff0c;…

Linux权限系统深度解析

Linux操作系统的权限管理对于维护系统安全和稳定性至关重要。本文将通过详细的语法说明和实际案例&#xff0c;深入探讨Linux权限系统的工作原理及其应用。 权限基础 Linux文件和目录的权限分为三类&#xff1a;读&#xff08;r&#xff09;、写&#xff08;w&#xff09;、执…

JavaScript高级Ⅰ(自认为很全面版)

目录 第1章 BOM编程 1.1 BOM编程概述 1.1.1 BOM编程的概念 1.1.2 BOM编程的作用 1.1.3 BOM常用的对象 1.2 window对象 1.2.1 JS三个弹框(了解) 代码演示&#xff1a; 运行效果&#xff1a; 1.2.2 JS两个定时器 代码演示&#xff1a; 运行效果&#xff1a; 1.2.3 案…

机器学习——向量化

通常各种编程语言里&#xff0c;都有对应的各种线性代数库&#xff0c;我们可以利用现成的代数库来快速的求解我们想要的结果&#xff0c;也就是说&#xff0c;通过代数库&#xff0c;会让我们可以用更少的代码&#xff0c;更高的效率实现需求&#xff0c;这就是向量化的作用 …

(黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_05&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用1.1.2.ELK技术栈1.1.3.elasticsearch和lucene1.1.4.为什么不是其他搜索技…

go语言基础 -- 文件操作

基础的文件操作方法 go里面的文件操作封装在os包里面的File结构体中&#xff0c;要用的时候最好去查下官方文档&#xff0c;这里介绍下基本的文件操作。 打开关闭文件 import("os" ) func main() {// Open返回*File指针&#xff0c;后续的操作都通过*File对象操作…

白酒:蒸馏技术的优化与新型蒸馏设备的研发

蒸馏技术是豪迈白酒生产中的重要环节&#xff0c;直接关系到产品的质量和风格。云仓酒庄在蒸馏技术的优化和新型蒸馏设备的研发方面进行了大量探索和实践&#xff0c;旨在提升白酒的品质和口感。 首先&#xff0c;蒸馏技术的优化对于豪迈白酒的品质至关重要。传统的蒸馏技术通常…

天星数科精细化运营,擘画金融服务实体发展新篇章

党的二十大报告提出“建设现代化产业体系”&#xff0c;要求“坚持把发展经济的着力点放在实体经济上”。这是站在改革开放40多年发展实践基础上&#xff0c;实现第二个百年奋斗目标作出的战略部署。天星数科作为深耕金融服务多年的科技公司&#xff0c;聚焦主业、立足于专业&a…

Python实现时间序列分析Theta模型(ThetaModel算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中的Theta模型(Theta Model)是由Athanasios Theodoridis在2008年提出的一种统计预测方法&…

私有派生和公有派生是不是都会在派生类创建一个基类的无名对象?

并不是&#xff0c;只有私有派生会&#xff0c;公有派生不会&#xff0c;通过私有派生的私有派生类中会创建一个私有基类的无名对象&#xff0c;而公有派生是将公有基类成员变成公有派生类的成员一部分。 私有派生会在私有派生类中创建一个无名的基类对象&#xff0c;而公有派…

requests模块处理cookie

requess模块处理cookie相关的请求 学习目标 掌握requests处理cookie的三种方法 1 爬虫中使用cookie 为了能够通过爬虫获取到登录后的页面&#xff0c;或者是解决通过cookie的反扒&#xff0c;需要使用request来处理cookie相关的请求 1.1 爬虫中使用cookie的利弊 带上cookie的…

DNDC模型下载与安装、建模方法、结果分析、率定验证

目录 专题一 DNDC模型介绍 专题二 DNDC初步操作 专题三 遥感和GIS基础 专题四 DNDC气象数据 专题五 DNDC土地数据 专题六 DNDC土壤数据 专题七 DNDC结果分析 专题八 DNDC率定验证 专题九 土壤碳储量与作物产量 专题十 温室气体排放分析 专题十一 农田减排潜力分析 …

C++:动态内存相关知识点整理:

动态内存&#xff1a; #include<stdlib.h> 前提引入&#xff1a; 局部变量储存在 栈空间&#xff0c;vs2022 内分配 &#xff08;1024*1024&#xff09;1m 大小&#xff0c;超过此大小程序崩溃char* s strtok(buff, " ");//当指针定义在外部函数时&#xf…

义乌等保测评公司有哪些?用哪款堡垒机好?

对于义乌&#xff0c;相信大家都听过&#xff0c;也都知道&#xff0c;耳熟能详。这不有义乌小伙伴在问&#xff0c;义乌等保测评公司有哪些&#xff1f;用哪款堡垒机好&#xff1f;今天我们就来简单聊聊。 义乌等保测评公司有哪些&#xff1f; 目前浙江义乌本地暂未有正规等保…

光伏智慧化运营方案

在“双碳政策”和全球能源危机的双重驱动下&#xff0c;我国光伏全产业链迎来高速增长。2023年前三季度我国光伏发电量已达4369亿kWh&#xff0c;同比增长33%&#xff0c;光伏发电利用率更是高达98.3%&#xff0c;成为推动新型电力系统建设的重要一环。 然而随着行业的规模不断…

守护国货,爱创助力花西子全面升级打假体系

图源自花西子官方微博 2021年、2022年、2023年上半年中国彩妆类目销售额均排名第一&#xff08;天猫、抖音&#xff09;&#xff0c;这就是中国品牌花西子。 “水光潋滟晴方好&#xff0c;远山渺渺&#xff0c;花间西子笑。”以花为姓&#xff0c;西子为名的花西子&#xff0c…

Threejs用切线实现模型沿着轨道行驶

这次讲一个经常遇到的使用场景&#xff0c;让模型沿着轨迹运动&#xff0c;这个场景需要解决两个问题&#xff0c;第一是让模型沿着轨迹运动&#xff0c;第二是在沿着轨迹运动的同时&#xff0c;要保持模型的头部也时刻保持前方&#xff0c;而不是单纯的只是更新模型位置。 还是…

南京观海微电子---PCIe协议(一)

概述 PCIe协议是一种端对端的互连协议&#xff0c;提供了高速传输带宽的解决方案。与传统的并行总线标准如PCI和PCI-X相比&#xff0c;PCIe提供了更低的延迟和更高的数据传输速率。每个连接到主板上的设备都通过独立的点对点连接与之相连&#xff0c;这避免了设备之间因为共享…