java上机实验练习题

合集下载

java上机实验练习题

java上机实验练习题

java上机实验练习题1.最大和最小数问题内容:阅读5个数字,找出最大和最小数字2根据变量score中存放的考试分数,输出对应的等级。

3.请计算3到1000之间的最大10个素数,将它们放入数组,并计算它们的累积和。

4.编写图形用户界面的applet程序(如图所示)参考两个数字的程序获得大值(图中左侧),并写出1到n的和(图中右侧)5.唯一数问题内容:编写一个小程序,输入五个数字,每个数字在10到100之间(包括10到100)。

读取每个数字时,仅当其与已读取的数字不重复时才会显示要求:掌握数组的创建和初始化方法。

6.编写程序:a、创建一个类圆,添加静态属性R(成员变量),并定义一个常数pi=3.142b.在类circle中添加两种方法,分别计算周长和面积c、当r=2时,编写主类C3并使用类圆输出圆的周长和面积。

7.定义个人类别。

该类的属性(变量)和方法如下:Name:Name string type;性别:sex字符型;年龄:age整型;两种构造方法:一种是默认构造方法(由系统完成),另一种可以通过参数指定;将该3个变量转化成字符串便于显示输出的方法:tostring(该名称可自定义)创建一个主类,通过person类创建一个对象,并显示和输出对象的各种属性。

十点九8.设计一个teacher类,包括4个string类型的私有字段name、teacherid、address、course,以及供外部访问(返回或设置)这4个公有字段对应的方法getname、setname、getteacherid、setteacherid、getaddress、setaddress、getcourse、setcourse。

同时,teacher类还有一个能按查询条件字符串(qrystring)查询老师授课课程的方法querycourse,若qrystring与该teacher的teacherid相符,该方法返回字符串类型的课程名称(course);若不相符,返回空字符串。

java上机练习题

java上机练习题

java上机练习题一、题目描述编写一个Java程序,实现一个数独游戏的解题器。

数独游戏是一种填数字的逻辑游戏,要求每个数字在每一行、每一列和每一个九宫格内只能出现一次。

给定一个部分填充的数独棋盘,请编写程序解决数独题目。

二、问题分析1. 数独棋盘由9行9列的格子组成,每个格子初始时可能包含数字1-9或空格(0)。

2. 数独的解决过程需要逐个格子进行填充,满足数字在行、列和九宫格内各不重复的条件。

3. 使用回溯算法进行解题,即通过逐个尝试每个格子的可能数字,如果填充的数字导致下一个格子无法满足要求,则返回上一个格子重新尝试其他可能数字。

三、算法设计1. 创建一个求解数独的方法,该方法输入一个数独棋盘二维数组,并返回解决后的棋盘。

2. 在求解数独方法中,通过循环遍历数独棋盘的每一个格子,对空格子进行尝试填充。

3. 对每个空格子进行填充时,按照从1到9的顺序尝试,找到一个合适的数字填充后递归调用求解数独方法,处理下一个格子。

4. 如果下一个格子无法填充合适数字,则回溯到当前格子重新选择一个数字填充,直到找到合适的数字或者所有可能数字均不满足条件。

5. 递归调用的终止条件为所有格子均填充完毕。

四、核心代码实现```javapublic class SudokuSolver {public static void main(String[] args) {// 数独棋盘输入示例int[][] board = {{5, 3, 0, 0, 7, 0, 0, 0, 0},{6, 0, 0, 1, 9, 5, 0, 0, 0},{0, 9, 8, 0, 0, 0, 0, 6, 0},{8, 0, 0, 0, 6, 0, 0, 0, 3},{4, 0, 0, 8, 0, 3, 0, 0, 1},{7, 0, 0, 0, 2, 0, 0, 0, 6},{0, 6, 0, 0, 0, 0, 2, 8, 0},{0, 0, 0, 4, 1, 9, 0, 0, 5},{0, 0, 0, 0, 8, 0, 0, 7, 9}};solveSudoku(board);// 打印解决后的数独棋盘printSudoku(board);}public static void solveSudoku(int[][] board) { // 在求解数独的方法中填充空格solve(board);}public static boolean solve(int[][] board) {for (int row = 0; row < 9; row++) {for (int col = 0; col < 9; col++) {if (board[row][col] == 0) {for (int num = 1; num <= 9; num++) { if (isValid(board, row, col, num)) { board[row][col] = num;if (solve(board)) {return true;} else {board[row][col] = 0;}}}return false;}}}return true;}public static boolean isValid(int[][] board, int row, int col, int num) { for (int i = 0; i < 9; i++) {if (board[i][col] == num || board[row][i] == num ||board[3 * (row / 3) + i / 3][3 * (col / 3) + i % 3] == num) { return false;}}return true;}public static void printSudoku(int[][] board) {for (int row = 0; row < 9; row++) {for (int col = 0; col < 9; col++) {System.out.print(board[row][col] + " ");}System.out.println();}}}```五、运行结果数独解题结果将以二维矩阵形式输出在控制台上。

第一次java上机练习

第一次java上机练习

第一次JAVA上机练习姓名:学号:实验1-1:编写程序1.System.out.println("Hello World!");HelloWorldApp.java2.3.运行结果截图4.本题需要注意的地方注意大小写符合问题实验1-2:编写程序1.代码截图2. 运行结果截图3. 本题需要注意的地方注意符号的正确运用练习2:编译并运行如下代码public class ParamTester{public static void main(String argv[]){System.out.println(argv[0]); System.out.println(argv[1]);}}运行程序的命令为:java ParamTester good morning*理解命令行参数的传递实验1-3:不同类型数据间的运算(一)1、创建以下4个变量:charx = 'h';int intx = 65;float floatx = 3.3333f;double doublex = 4.444;编程实现计算charx + intx、floatx – intx、doublex / floatx的结果并在屏幕上显示,获取如图所示的运行结果。

2、代码截图3、运行结果截图4、本题需要注意的地方注意float数后面加f注意括号的使用外观实验1-4:多重for循环绘制图形1、编程实现运算一个简单的图形绘制,利用符号“*”的个数,实现不同的图形。

实现结果如下图所示:2、代码截图3、运行结果截图4、本题需要注意的地方注意嵌套循环时打的{}实验1-5:使用switch语句实现条件分支1、编程实现运算一个简单的程序,程序可以根据学生的成绩判断学生成绩的等级。

声明一个整形数组从命令行接收并保存学生成绩。

2、代码截图3、运行结果截图4、本题需要注意的地方注意数组定义和C语言的区别,容易搞混实验1-61、从命令行中输入2个20以内的整数,然后生成一个在输入的两个整数之间的一个随机整数n,打印出前n项Fibonacci(素数)数列:1,1,2,3,5,8,13.。

Java上机操作试题

Java上机操作试题

Java上机操作试题一、Java基础语法1. 请简要描述Java的基本数据类型及其占用的空间大小。

2. 请编写一个Java程序,输出以下的结果:12 23 3 34 4 4 45 5 5 5 5提示:使用循环语句和嵌套循环语句。

3. 请编写一个Java程序,实现以下功能:输入两个整数a和b,输出a和b的和、差、积、商和余数。

4. 请编写一个Java程序,实现以下功能:输入一个正整数n,输出n的所有因子。

提示:可以使用循环语句和判断语句。

二、面向对象编程1. 请简要描述Java中类和对象的概念。

2. 请编写一个Java程序,实现以下功能:设计一个圆类Circle,包含一个double类型的半径属性,以及圆的面积和周长的计算方法。

提示:可以使用Math中的常量和方法。

3. 请编写一个Java程序,实现以下功能:设计一个可爱的小猫类Cat,包含一个String类型的name属性和一个void类型的cry方法,输出“喵喵喵!”。

4. 请编写一个Java程序,实现以下功能:定义一个矩形类Rectangle,包含一个int类型的长和宽属性,以及计算矩形周长和面积的方法。

提示:在构造函数中将长和宽初始化。

三、异常处理1. 请简要描述Java异常处理的基本原理。

2. 请编写一个Java程序,实现以下功能:计算两个整数相除的结果,如果除数为0,抛出异常并输出“除数不能为0!”,否则输出计算结果。

3. 请编写一个Java程序,实现以下功能:设计一个数组类,包含一个int类型的数组属性和一个获取指定位置元素的方法,如果指定位置超出范围,抛出异常并输出“数组下标越界!”,否则输出指定位置元素。

4. 请编写一个Java程序,实现以下功能:模拟登录功能,输入用户名和密码,如果用户名或密码不正确,抛出异常并输出“用户名或密码错误!”,否则输出“登录成功!”。

提示:可以使用字符串的equals方法进行字符串比较。

以上试题侧重测试Java基础语法、面向对象编程以及异常处理的掌握情况。

JAVA上机实验题目

JAVA上机实验题目
Thread giveNumberThread,guessNumberThread;
Number()
{ giveNumberThread=new Thread(this);
guessNumberThread=new Thread(this);
}
public void run()
{
for(int count=1;true;count++)
g.drawImage(m_Images[currentImage],10,10,this); //显示当前那张图片
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1)
{ if ( currentImage>0)
currentImage= --currentImage; //上一张
【参考程序】
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class ShowAnimator extends Applet implements ActionListener{
Image[] m_Images; //保存图片序列的Image数组
setLayout(new GridLayout(3,2));
add(f1); add(f2);
add(b1); add(b2); add(res);
b1.addActionListener(this);
b2.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {

Java考试上机操作题

Java考试上机操作题

Java考试上机操作题题目一:数组求和给定一个整数数组,编写一个方法来计算数组中所有元素的总和。

输入一个整数数组。

输出返回数组中所有元素的总和。

示例输入:[1, 2, 3, 4, 5]输出:15代码实现public int sumArray(int[] nums) {int sum = 0;for (int num : nums) {sum += num;}return sum;}题目二:数组平均值给定一个整数数组,编写一个方法来计算数组中所有元素的平均值。

输入一个整数数组。

输出返回数组中所有元素的平均值。

示例输入:[1, 2, 3, 4, 5]输出:3.0代码实现public double averageArray(int[] nums) { int sum = 0;for (int num : nums) {sum += num;}return (double) sum / nums.length;}题目三:查找最大值给定一个整数数组,编写一个方法来查找数组中的最大值。

输入一个整数数组。

输出返回数组中的最大值。

示例输入:[1, 5, 2, 9, 4]输出:9代码实现public int findMax(int[] nums) {int max = Integer.MIN_VALUE;for (int num : nums) {if (num > max) {max = num;}}return max;}以上是三道Java考试上机操作题,分别涉及求和、求平均值和查找最大值的问题。

每道题目都附带了输入、输出示例和代码实现。

通过这些题目的解答,可以帮助考生加深对Java基本语法和数组操作的理解,并提升编程能力。

希望对你有帮助!。

java上机题1

java上机题1

java上机题11.java程序的开发周期一般包括(第二章)a.编译b.下载c.解释d.执行答案:a,b,c,d2.设置环境变量时,path须要指向java加装目录的子目录(第二章)a.jreb.libc.bind.demo答案:c3.设置classpath环境变量时主要需要设置java安装目录lib子目录下的哪两个jar 文件(第二章)a.java.jarb.tools.jarc.dt.jard.jconsole.jar答案:b,c4.编写java程序时,以说法正确的是(第二章)a.可以使用任何文本编辑器b.类的源文件名和类名可以不同c.可以采用javac命令编程java源文件d.编程后文件的拓展名叫class答案:a,c,d5.下面哪些是虚拟机的执行特点(第二章)a.多线程b.异常处理c.动态链接d.硬件相关答案:a,b,c6.java语言和c++较之,下面哪些就是java特有的(第二章)a.面向对象b.类库c.跨平台d.动态链接答案:c7.下列选项中,关于编译程序说法正确的是(第二章)a.编译生成目标代码b.编译程序与翻译程序促进作用相同c.语法分析属于编译程序的基本工作内容d.编译过程包括中间代码生成过程答案:a,c,d8.不属于变量的组成部分就是(第三章)a.变量名b.变量属性c.变量大小d.变量初值答案c9.关于基本数据类型的观点不恰当的就是(第三章)a.boolean就是java特定的内置值,或者为真或者为假b.float就是带符号的32十一位浮点数c.double就是带符号的64十一位浮点数d.char就是16十一位unicode字符答案d10.下列关于自动类型转换的说法中,不正确的一个是(第三章)a.char类型数据能自动转换为任何简单数据类型的数据b.char类型数据只能自动转换为int类型数据c.char类型数据无法自动切换为boolean类型数据d.char类型数据无法搞自动初始化答案abd11.下列回车字符的正确转义字符是(第三章)a./rb./nc.\\nd.\\r答案d12.以下的赋值语句恰当的就是(第三章)a.chara=14;b.inta=14;c.inta=14.0f;d.inta=(int)14.0;答案:bd13.下列代表八进制整数的数是(第三章)a.0xa6b.0144c.1840d.-1e3答案b14.以下不属于拓展赋值运算符的就是(第三章)a.+=b.<=c./=d.<<=答案b15.下列运算符中,表示布尔逻辑运算符的是(第三章)a.++b.<<、c.||d.&答案c16.下列关于equals()方法和==运算符的说法,正确的是(第三章)a.==运算符和equals()方法的功能一样可以互换b.equals()方法可以用以比较无机数据类型的数值与否成正比c.==运算符可以用以无法比较简单数据类型的数据值与否成正比d.==运算符和equals()方法的功能不全然一样,不容交换答案bcd17.表达式(40==0)&&(1/0<1)的值为(第三章)a.trueb.falsec.0d.运转出现异常答案b18.下列关于表达式类型的说法中,正确的是(第三章)a.若a、b和c都是整型变量,则a+b-c是整型表达式b.若x和y都是布尔型变量,则x&&y是布尔型表达式c.若x和y都是整型变量,则x>1&&y<1是整型表达式d.若a就是布尔型变量,b和c都就是整型变量,则a&&(b-c)>2就是布尔型表达式答案abd19.执行下列程序段之后,变量b的值为(第三章)publicclasstest1{publicstaticvoidmain(string[]args){inti=6;intj=12;booleana1=true;booleana=(j%i==0)&&(!a1)||(j/i!=2);system.out.println(a);}}a.falseb.truec.2d.0答案a20.设定义inty=5;则执行以下语句y/=--y-5;之后y的值为(第三章)a.-5b.-4c.-1d.运转时出现异常答案a21.执行如下语句之后,输出的结果是(第三章)publicclassex21{publicstaticvoidmain(string[]args){intx=5,y=5;x=x-++y;}}a.0b.5c.-1d.6答案c22.int类型的存储范围(第三章)a.-216~216-1b-232~232-1c.-264~264-1d.-231~231-1答案d23.character流与byte流的区别是(第三章)a.每次读入的字节数不同b.前者带有缓冲,后者没有c.二者没有区别,可以互换使用d.前者就是块读取,后者就是字节读取答案d24.下面哪些不是java语言中的关键字?(第三章)a.sizeofb.abstractc.nulld.native答案:acd25.char类型的值域范围就是(第三章)a.2-7~27-1b.0~216-1c.-215~215-1d.0~28-1答案b26.下面表示注释的语句有(第三章)a./**...*b./*...*/c.//d./**...*/答案bcd27.下面语句正确的是(第三章)a.char='abc';b.longl=oxfff;c.floatf=0.28;d.double=0.7e-3;答案:d28.在switch(exp)语句中exp的数据类型是(第三章)a.doubleb.charc.byted.short答案bcd29.以下程序代码中将可以编程错误的行是(第三章)1)publicclassexercise{2)publicstaticvoidmain(stringargs[]){3)floatf=0.1;4)f+=1.0;5)}6)}a.第2行b.第3行c.第4行d.第6行答案:b30.java程序设计所规定基本控制结构是(第三章)a.顺序、选择、循环b.输入、处理、输出c.树形、网形、环形d.主程序、子程序、函数答案:a31.java源文件和编程后的文件扩展名分别为(第三章)a..class和.javab..java 和.classc..class和.classd..java和.java答案b32.jcreator就是()(第三章)a.一种全新的程序语言b.一种程序辅助设计工具c.一种由java写成的,并支持javaapplet的浏览器d.一种游戏软件答案b33.以下声明的变量中,不合法的就是(第三章)a.internet_networkb.*numberc.hellod.sys_path答案b。

Java上机训练

Java上机训练

Java上机训练(一)1.import java.io.*;public class JModify1{public static void main(String args[]){CV owel v=new CV owel();v.printCount();}}class InputData{static private String s="";/****1****/public static void input(){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));try{s=br.readLine();}catch(IOException e){}}static public String getString(){input();return s;}}class CV owel{private String V owelChar="aeiouAEIOU";private int count=0;private String s="";void printCount(){System.out.println("请输入一个字符串:");s=InputData.getString();char vowel[]=s.toCharArray();for(int i=0;i<vowel.length;i++)/*****2*****/if(V owelChar.indexOf(vowel[i]) !=-1)count++;System.out.println("元音字母个数为:"+count);}}运算结果:2.import java.io.*;public class JDesign1 {public static void main(String args[]) throws IOException{BufferedWriter out=new BufferedWriter(new FileWriter("c:/text1"));System.out.println(get());out.write(String.valueOf(get()));out.flush();out.close();}static int get(){int n=0;for(int i=1000;i<9999;i++)if(i%10==6&&i%3==0)n++;return n;}}运算结果:3.public class JModify2{public static void f(int n){int i=2;while(n>1){if(n%i==0)System.out.println(i);n/=i;}elsei++;}}public static void main(String args[]){int n=100;f(n);}}运算结果:4.import java.io.*;public class JDesign2 {public static void main(String args[]) throws IOException{//BufferedWriter out=new BufferedWriter(new FileWriter("c:/text1."));System.out.println(get());out.write(String.valueOf(get()));out.flush();out.close();}static int get(){int n=0;int a,b,c;for(int i=100;i<1000;i++){a=i%10;b=i/10%10;c=i/100;if(i==a*a*a+b*b*b+c*c*c) n++;}return n ;}}运算结果:Java上机训练(二)第一题:import javax.swing.JOptionPane;public class java_1 {public static void main( String args[] ) {int x, y, result;String xval, yval;xval = JOptionPane.showInputDialog( "输入第1个整数:" );yval = JOptionPane.showInputDialog( "输入第2个整数:" );//*********found********x = Integer.parseInt( xval );y = Integer.parseInt( yval );result = x * y;//*********found********JOptionPane.showInputDialog( null, "两个数的积: " + result ); System.exit(0);}}运算结果:第二题:import java.io.*;public class Java_2{//*********found********public static void main(String args[]) throws Exception{long filepoint = 0 ;String s;RandomAccessFilefile = new RandomAccessFile ("C:\\eclipse\\work_home\\Q\\src\\Java_2.java","r");long filelength = file.length();while (filepoint<filelength){//*********found********s = file.readLine();System.out.println(s);filepoint = file.getFilePointer();}file.close();}}第三题:import javax.swing.JOptionPane;public class Number{public static void main( String args[] ) {int a,b,c,d,m,t;String n;n = JOptionPane.showInputDialog( "输入1个4位整数:" ); m = Integer.parseInt(n);d=(m/1000+5)%10;c=(m/100%10+5)%10;b=(m/10%10+5)%10;a=(m%10+5)%10;t=d;d=a;a=t;t=b;b=c;c=t;m=a+b*10+c*100+d*1000;System.out.println(m);}}运算结果:java上机训练(三) 一.继承public class Vehicle {public static void main(String args[]){Vehicle v=new Vehicle();v.run();}void run(){S ystem.out.println("这是交通工具run方法");}}public class Motor extends Vehicle{void run(){S ystem.out.println("这是汽车中的run方法");}}public class Ship extends Vehicle{void run(){System.out.println("这是船中的run的方法");}}public class Aeroplane extends Vehicle{void run(){System.out.println("这是在飞机中的run方法"); }}public class Bus extends Motor{void run(){System.out.println("这是Bus类");}}public class Car extends Motor{void run(){System.out.println("这是Car类");}}public class Test {public static void main(String[] args) { Motor m=new Motor();Ship s=new Ship();Aeroplane a=new Aeroplane();Bus b=new Bus();Car c=new Car();c.run();b.run();m.run();s.run();a.run();}}运行结果:这是Car类这是Bus类这是汽车中的run方法这是船中的run的方法这是在飞机中的run方法二、异常第一种方法:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class My{public static void main(String[] args) throws IOException{ System.out.print("请输入一个数字: ");BufferedReader in=new BufferedReader(newInputStreamReader(System.in));String s;s=in.readLine();try {double d = Double.parseDouble(s);if (d < 0)System.out.println ("负数不能开平方根");elseS ystem.out.println(Math.sqrt(d));} catch (NumberFormatException e) {}}}运行结果:第二种方法:import java.util.Scanner;public class Test_02 {public static void main(String[] args) {Scanner scan=new Scanner(System.in);while(scan.hasNext()){String input=scan.next();if(input.contains("-")){System.out.println("请输入正数!");}else{double aa = Double.parseDouble(input);double result= Math.sqrt(aa);System.out.println(result);}}}}运行结果:IWAV0055I Java Bean Test_02 started with the main method 366.0-9请输入正数!java上机训练(四)第一题:设计类A和A的派生类Bpublic class A {public int a;public int b;public A(int a, int b) {super();this.a = a;this.b = b;}}public class B extends A{public int c;public B(int a, int b, int c) {super(a, b);this.c = c;}public int sum(){return a+b+c;}}public class Test {public static void main(String[] args) {B e1=new B(3, 4, 5);int sum=e1.sum();System.out.println(sum);}}运行结果:第二题:编写一个字符界面的Java Application程序import java.io.*;public class Array {public static void main(String args[]) throws Exception{ int i,j,t;int a[]=new int[10];BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入10个整数,用回车键将他们分开:");for(i=0;i<=9;i++){a[i]=Integer.parseInt(reader.readLine());}for(i=0;i<=9;i++){for(j=0;j<9-i;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}System.out.println("递增排序后的10个数:");for(i=0;i<10;i++)System.out.print(a[i]+" ");}}运行结果:请输入10个整数,用回车键将他们分开:4555212546358999递增排序后的10个数:2 4 5 6 21 35 45 55 89 99第三题:编写一个图形界面的应用程序import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class FrameDemo implements ActionListener{JFrame frame=new JFrame("求两个数的和");JButton button=new JButton("求和");JLabel label1=new JLabel("输入第一个数:");JLabel label2=new JLabel("输入第二个数:");JTextField text1=new JTextField(15);JTextField text2=new JTextField(15);JTextField text3=new JTextField(15);public static void main(String[] args) {FrameDemo frameDemo=new FrameDemo();frameDemo.go();}void go(){Container contentPane=frame.getContentPane();contentPane.setLayout(new GridLayout(3,2,10,10));contentPane.add(label1);contentPane.add(text1);contentPane.add(label2);contentPane.add(text2);contentPane.add(button);contentPane.add(text3);button.addActionListener(this);frame.pack();frame.setBounds(0, 0, 300, 150);frame.setVisible(true);}public void actionPerformed(ActionEvent e) {int a=Integer.parseInt(text1.getText());int b=Integer.parseInt(text2.getText());int c=a+b;text3.setText(""+c);或text3.SetText(String.valueOf(c));}}运行结果:第四题:编写一个程序,对数组中每个元素赋值,然后按逆序输出。

java 上机练习题

java 上机练习题

上机练习一一、将Vehicle 和VehicleDriver两个文件用自己的文本编辑器重新编辑并编译和运行,掌握类和对象的定义和使用1、V ehicle.java (注意:以下代码有几个错误的地方,需要同学自己把他们找出来并更正过来)public class Vehicle{public float journey;public int wheelNum;public int loadNum;public int driveSpeed;/***Vehicle 类构造函数,设定初始值*/public Vehicle(){journey=100.3f;wheelNum=4;loadNum=1;}/***Vehicle类的driveAt行驶方法*/public void driveAt(int speed){if (speed>=60){System.out.println("行车速度太快,容易造成事故");//如果要求的车速太快,则机动车自动以40单位速度行驶driveSpeed=40;}else {System.out.println("你在安全行驶速度内行驶");driveSpeed=speed;}}}2、V ehicleDriver.javapublic class VehicleDriver{public String name; //定义司机的名字/***VehicleDriver 类构造函数*/public VehicleDriver(){name="TOM";}/***VehicleDriver 类对象的work方法*/public void work(){Vehicle v=new Vehicle(); //生成Vehicle类的对象vv.driveAt(70); //调用v对象所固有的driveAt()方法}public static void main(String args[]){//生成VehicleDriver类的对象vbVehicleDriver vd=new VehicleDriver();vd.work(); //调用vd对象所固有的work()方法}}二、将Vehicle 和VehilceDriver 两个类放在一个.java文件中,文件名称取名为Vtogether.java (注意:需将Vehicle 或 VehicleDriver中某一个类的名称改名为Vtogether,具体更改哪一个由同学根据实际情况来判断),编译和运行该文件三、将上课布置的课后作业在机器上实现出来运算公式:z=4*x*x+2*x*y+5*y*y要求:设计两个类,在第一个类中定义一个方法,该方法主要实现z=4*x*x+2*x*y+5*y*y的运算过程,其中x,y作为形参,在本方法中不给出具体的值,只有当其他方法调用该㎡方法时才给出x,y的具体值,z是在这个方法运行之后的返回值,需要将这个数据返回给调用这个方法的语句。

Java程序上机练习题库(含答案)

Java程序上机练习题库(含答案)

上机练习题(共包括四部分、16个练习、共96个练习题,请使用“视图”中的“文档结构图”查看)一、java语言基础和面向对象(教材内容的第1、2、3章)练习1(4)掌握:各种数据类型变量的定义和访问,各种数据类型常量的使用,数据类型转换。

1. 编写Applet,其功能为:取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。

最后,求这两个数的和并将结果输出。

要求这些功能在主类的方法init( ) 中实现,并使输出结果仅保留小数点后4位(不需四捨五入)。

@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2. 请编写一个Applet,其功能为:取一个小于10000的正随机整数,并输出该数的平方根。

要求这些功能在主类的方法paint( ) 中实现,并使输出结果在四捨五入后保留小数点后4位。

@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于"+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3. 编写一个Applet,其功能为:取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。

java上机试题及答案

java上机试题及答案

java上机试题及答案Java上机试题及答案一、选择题1. 在Java中,以下哪个关键字用于声明一个类?- A. class- B. struct- C. interface- D. enum答案:A2. Java中用于捕获异常的关键字是?- A. try- B. catch- C. throw- D. finally答案:B二、填空题1. Java中,单精度浮点数使用的数据类型是________。

答案:float2. Java中,用于声明字符串的关键字是________。

答案:String三、编程题1. 编写一个Java程序,计算并输出100以内所有偶数的和。

```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("The sum of even numbers within 100 is: " + sum);}}```四、简答题1. 简述Java中接口和抽象类的区别。

答案:接口和抽象类都是Java中实现抽象化的方式。

接口可以包含常量、抽象方法和默认方法,但不能包含状态信息;抽象类可以包含状态信息和非抽象方法。

接口中的所有方法默认为public,而抽象类中可以有private和protected方法。

接口不能实现其他接口,但可以继承多个接口;抽象类可以继承一个类,但不能继承另一个抽象类。

2. 描述Java中垃圾回收机制的基本原理。

答案:Java中的垃圾回收机制主要依赖于垃圾收集器(Garbage Collector, GC)。

GC通过追踪对象的引用来识别哪些对象是可达的,即被程序直接或间接引用的对象。

不可达的对象被认为是垃圾,GC会定期地回收这些对象占用的内存。

java上机练习题及答案

java上机练习题及答案

JAVA构造方法(1)作业要求:上机调试成功后方可上交。

1.编写程序,终端输入需要判断的数据,通过调用判断素数Static int sushu(int x)的方法进行判断,并将判断结果输出到终端。

运行结果:程序源代码:package com.main3;import java.util.Scanner;public class M_ss {public static void main(String[] args) {Scanner input = new Scanner(System.in);for (int i = 0; i <2; i++) {System.out.println("请输入要判断的数:");int x=input.nextInt();sushu(x);}}static void sushu(int x) {boolean flag=true;int x1=x/2;for (int i=2; i <=x1; i++) {if(x%i==0)flag=false;}if(flag)System.out.printf("%d是素数。

\n",x);elseSystem.out.printf("%d不是素数。

\n", x);}}2.编写程序,输出所有的水仙花数。

请构造水仙花的判断方法。

Static int shuixianhua(int x)运行结果:程序源代码:package com.main3;public class M_shuixianhua {public static void main(String[] args) {for (int i = 100; i < 1000; i++) {shuixianhua(i);}// TODO Auto-generated method stub}public static void shuixianhua(int x) {int a,b,c;a = x/100;b = x/10%10;c = x%10;if(a*a*a+b*b*b+c*c*c==x)System.out.println(x+"是水仙花数。

java 上机练习题

java 上机练习题

java 上机练习题1. 编写一个程序,判断一个数是否为素数。

```javaimport java.util.Scanner;public class PrimeNumber {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数: ");int number = scanner.nextInt();boolean isPrime = true;if (number < 2) {isPrime = false;} else {for (int i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) {isPrime = false;break;}}}if (isPrime) {System.out.println(number + "是素数。

");} else {System.out.println(number + "不是素数。

");}}}```2. 编写一个程序,求某个整数范围内所有素数的和。

```javaimport java.util.Scanner;public class SumOfPrimes {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数范围的起点: "); int start = scanner.nextInt();System.out.print("请输入一个正整数范围的终点: "); int end = scanner.nextInt();int sum = 0;for (int i = start; i <= end; i++) {boolean isPrime = true;if (i < 2) {isPrime = false;} else {for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) {isPrime = false;break;}}}if (isPrime) {sum += i;}}System.out.println("素数和为: " + sum); }}```3. 编写一个程序,实现一个简单的计算器,可以进行加、减、乘、除运算。

java第三章上机练习题

java第三章上机练习题

习题1. 数据类型转换应用【案例简介】下例说明了整型、浮点型、字符串型之间的相互转换。

【案例目的】掌握Java中两个不兼容类型能够的数据格式之间的转换。

【技术要点】高精度到低精度的数据转换时候需要进行强制转换,低精度向高精度进行转换的时候的会自动进行,字符串到其他类型的转换需要用到特定的方法。

【代码分析】public class Conversation{public static void main(String [] args){String str = "123";int j;byte b;int i=257;double d = 323.142;System.out.println("\nConversion of int to byte.");//i强制转换成byte型System.out.println("i and b "+ i + " "+b);System.out.println("\nConversion of double to int.");//d强制转换成int型System.out.println("d and i "+ d + " "+i);//d强制转换成byte型System.out.println("d and b "+ d + " "+b);j=Integer.parseInt(str); //str转换成int型System.out.println("j="+j);}}【相关知识】数据类型转换(1)简单数据类型中各类型数据间的优先关系和相互转换不同类型数据间的优先关系如下低----------------------------------------------->高byte->short->char-> int -> long -> float -> double自动类型转换规则整型,实型,字符型数据可以混合运算。

Java开发上机题

Java开发上机题

JAVA开发上机测试题
请您用java语言实现两个函数encode()和decode(),分别实现对字符串的变换和复原.变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:
(1)若已知字符串的当前字符不是大于0的数字字符,则复制该字符于新字符串中;
(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;
(3)若已知字符串的当前字符是一个大于0的数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后继字符(包括后继字符是一个数字字符)重复复制n+1次到新字符串中;
(4)以上述一次变换为一组,在不同组之间另插入一个下划线'_'用于分隔;
(5)若已知字符串中包含有下划线'_',则变换为”\UL”。

例如:encode()函数对字符串24ab_2t2的变换结果为444_aaaaa_a_b_\UL_ttt_t_2
复原函数decode()做变换函数encode()的相反的工作.按照上述规则逆运算,变回原来的字符串。

测试方式:
Encode函数输入以下用例:
__0a\U\3_4b\\
\23b_2__f4
b\__\1UL0123__
控制台打印输出结果;
Decode函数以下用例:
\UL_\UL_0_a_\_U_\______\UL_bbbbb_b_\_\
\_333_bbbb_b_\UL_____\UL_\UL_f_4
b_\_\UL_\UL_\_UU_U_L_0_22_333______\UL_\UL
控制台打印输出结果;
时间要求:2个小时以内。

java 上机题目

java 上机题目

实验三实验目的:掌握声明子类的基本方法,加深对继承概念的理解,体会继承性给程序设计带来的好处。

实验内容及要求:1.创建一个新的Java项目,命名为“Experiment4”,将其放在D盘,将创建主类的选择去掉。

2.新建Java包,将其命名为“Experiment4_你在班里的序号_你的姓名”。

3.下面所要做的几道题目,都放在这个包里(新建Java类),注意每道题目要新建一个Java类,类名即为每个程序的名字。

4.上交作业时,将D盘中你所建的项目(Experiment4)下的src文件夹下的整个文件夹(如文件夹Experiment4_1_郑馥丹)上交(里面应该已经包含了你的java源程序了)。

5.提交日期要求:✓(1)~(2)为必做题,其中:必须在5月14日前提交;✓将上面第4点所提到的整个文件夹提交到FTP→上传→Java→相应的班级→5月7日第四次上机文件夹下。

6.题目:(1)(必做题)课本P155 第4章编程题第1题提示:✓程序结构:本程序应包含4个类文件:商品类Commodity.java、食品类Food.java、服装类Clothes.java及测试类CommodityTest.java ✓商品类Commodity类中,任何商品都应该有商品编号、商品名称、出厂日期、产品厂家名称等信息;✓食品类Food类必须继承Commodity类,食品应该有保质期、主要成分等信息;✓服装类Clothes类必须继承Commodity类,服装品应该有型号、面料等信息;✓以上每个类中,必须有2个构造方法,一个无参构造方法,一个有参的构造方法(带所有参数的构造方法),还有:更改器(设置成员变量的成员方法)、获取器(返回成员变量值的成员方法),输出方法toString()等;✓在测试类CommodityTest类中,只有一个main方法,在main方法中,创建1个食品类对象和1个服装类对象,并分别输出这2个对象的所有信息;✓参考:课本P129-130,经理与雇员类。

Java课程上机练习题

Java课程上机练习题

Java课程上机练习题Java课程上机练习题一、上机报告要求各上机题目报告要求:1.提交报告文件命名格式:##########(学号)****(姓名)第n 次上机作业.doc 2.提交office2003兼容文档(.doc,.pdf,.docx)3.上机报告需提交报告文档及程序源代码文件(.java)4.报告中凡是程序代码相关的题目,均需附带运行结果截图5.抄袭:抄袭者与被抄袭者均0分各上机题目报告内容应包括:1.实验题目2.小组名单及分工:学号、姓名、工作内容3.题目分析:该题目的核心问题;解决方法4.小组讨论内容:小组中各组员程序结果分析、对比、评价(小作业)4.题目设计实现:实现类结构及各类相互关系(大作业)5.实现过程:在上机实现过程中出现的问题及最终解决方法6.实验结果:最终程序执行结果截图7.个人总结:小组成员每个人的总结(姓名、总结)二、E clipse编程环境练习(第一章上机练习)实验目标:掌握Eclipse的Java工程文件结构、掌握在Eclipse编程环境下开发Java 程序调试程序的方法,。

实验要求:1.掌握JDK的安装及参数配置方法,能在控制台界面使用Java 命令进行Java程序的编译及运行。

2.掌握Eclipse软件安装方法。

3.掌握在Eclipse开发环境下创建一个Java工程及添加新类的方法。

4.掌握在Eclipse开发环境下导入/导出Java工程的方法。

5.掌握在Eclipse开发环境下编译、运行一个Java工程的方法。

6.掌握在Eclipse开发环境下调试Java程序的方法。

请在上机前自行查找相关资料,并在计算机上练习。

三、J ava语言基础(第三章上机练习)实验目标:掌握Java语法;掌握Java程序结构;掌握Java编译、调试、运行的方法。

实验要求:1.练习PPT中的全部小练习,尝试对小练习中各部分进行修改,并观察修改后的执行效果。

15, 21, 22, 24, 39, 43, 46, 48, 56, 58, 62, 632.编写一个程序,程序提供两种功能:1)根据用户输入的年份输出该年日历。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public abstract double distance(Circle c);
//判断圆是否在另一个圆的内部
public abstract boolean isInCircle(Circle c);
//判断一个点是否在圆的内部
public abstract boolean isInCircle(Point p);
for(int i=0;i<=q.getLength();i++){
System.out.print(" ");
System.out.print(q.put(i+1));
}
System.out.println();
for(int i=0;i<=q.getLength()/2;i++){
return count;
}
//取队列中的元素,如果队列为空则返回0
public int get(){
【补充代码】
}
//添加元素进入队列,如果在添加该元素之前队列已满则返回-1,
//否则返回添加之后该队列的长度
public int put(int n){
double getArea(): 公有、计算三角形的面积。
double getPerimeter(): 公有、计算三角形的周长。
(3)提示:
三角形面积的计算方法:
s:三条边之和的一半 ___________________
三角形面积 = √ s (s-A边)(s-B边)(s-B边)
System.out.print(q.put(i+1));
}
System.out.println();
for(int i=0;i<=q.getLength();i++){
System.out.print(" ");
System.out.print(q.get());
//判断圆是否比另一个圆要大
public abstract boolean isBiggerThan(Circle c);
//获取半径
public double getR(){
return r;
}
//获取圆心
public Point getCenter(){
return center;
package exam02;
public abstract class Circle {
protected Point center=new Point(); //圆心
protected double r; //半径
public final static double PI=3.14; //圆周率
//将字符串逆序
String reverseString(String s);
//实现两个整数字符串的相加,即add("1","2")的返回值为"3"
String add(String a,String b);
//将字符串b插入到字符串a当中,其中position为插入的位置
//即insertString("abc","ef",2)的返回值为"abefc"
请根据提示将其代码补充完整。(main方法无需编写)
注意:Queue类只有不带任何参数的构造方法。
//环形队列类,先进先出
public class Queue {
int start=0; //队列的开始位置
int end=0; //队列的结束位置
【补充字段定义】
public Queue(int max){
注意:请勿在StringTest类内定义任何形式的构造方法。
实验3.3
已知Point类的定义如下:
package exam02;
public class Point {
public double x;
public double y;
}
又知抽象类Circle的定义如下:
}
}
实验3.4
已知Point类的定义如下:
package exam02;
public class Point {
public double x;
public double y;
}
又知抽象类Line的定义如下:
package exam02;
//无需考虑直线平行或垂直于x轴的情况,直线的函数表达为y=kx+b
(2) Fraction 的方法有:
Fraction ( int , int ) : 公有、构造方法,形参1为分子,形参2为分母。(如果分母为0,则将分母设置为1)
Fraction divide(Fraction ) : 公有、计算除法,形参为除数。(当除数为0时,返回的Fraction对象的分子、分母均为0)
实验2.1
(1)Complex 的属性有:
realPart : 私有、double型、复数的实数部分
imgPart : 私有、double型、复数的虚数部分
(2)Complex 的方法有:
Complex( ) : 公有、构造方法,将复数的实部和虚部都置1
Complex( double , double ) : 公有、构造方法,形参1为实部的初值,形参2为虚部的初值。
Point middlePoint(Point): 公有、计算两点之间的中点。
实验2.4
(1) Multinomial 的属性有:
a2: 友好、double型、二次项系数
a1: 友好、double型、一次项系数
a0: 友好、double型、常数
(2) Multinomial 的方法有:
public Circle(double r,int x,int y){
this.r=r;
center.x=x;
.y=y;
}
//计算圆心到指定点的距离
public abstract double distance(Point p);
//计算两个圆之间的圆心距
【补充代码】
}
//清空队列
public void clear(){
【补充代码】
}
//以下代码只为帮助理解,无需写入到答案中
public static void main(String[] args) {
Queue q=new Queue(10);
System.out.print(" ");
System.out.print(q.get());
}
System.out.println();
for(int i=0;i<=q.getLength();i++){
System.out.print(" ");
实验3.1
题目:下面给出了一个环形队列类Queque的部分代码,运行该类的main方法后将获得以下输出结果:
(队列元素数为10时)
1 2 3 4 5 6 7 8 9 10 -1
1 2 3 4 5 6
5 6 7 8 9 10 -1 -1 -1 -1 -1
7 8 9 10 1 2 3 4 5 6 0
Complex complexAdd(Complex ) : 公有、将当前复数对象与形参复数对象相加,所得的结果仍是一个Complex类型的复数对象。
实验2.2
(1) Fraction 的属性有:
numerator: 友好、int型、分子
denominator : 友好、int型、分母
public abstract class Line{
Multinomial ( double , double , double) : 公有、构造方法,形参1为二次项系数,形参2为一次项系数,形参3为常数。
Multinomial differential() : 公有、求导,获得一次多项式
Multinomial add(Multinomial) : 公有、多项式相加,获得二次多项式
}
}
}
实验3.2
已知接口StringInterface的定义如下:
package exam02;
public interface StringInterface {
//判断班号是否正确(6位数字,且专业编号为20,年级班号无需验证)
boolean isClassNoCorrect(String studentNo);
double getArea(): 公有、计算梯形的面积。
实验1.4
(1)Triangle的成员变量有:
sideA : 私有、double型、A边
sideB : 私有、double型、B边
sideC : 私有、double型、C边
(2)Triangle 的方法有:
Triangle ( double,double,double ) : 公有、构造方法,形参1、2、3 分别为A边、B边和C边。
String insertString(String a, String b, int position);
//对以逗号分隔的字符串中的整数进行求和
//即total("1,2,3,4")返回值为10
int total(String s);
}
相关文档
最新文档