JAVA复习资料的程序题汇总
来源:互联网 发布:练耳大师 mac 编辑:程序博客网 时间:2024/05/24 04:58
JAVA复习资料的程序题汇总
整理者: 汤伟
E-mail: tw0814@sina.com
QQ: 17834798,各个群中,我都加入了。
声 明:
1. 根据老师复习课的内容及同学的提醒,共整理出4道程序题,其中第3题及第4题的第1段程序是老师提供的,其它的是我自己写的。
2. 老师提供的两段程序无法编译通过,我修改了部分代码,力求保持原意不变。目前这4段代码均已独立地在Eclipse 3.3.0调试通过。
3. 本文档只有程序题,如需其它部分的复习资料,请参阅“交大学海QQ群”(25622090)共享中的以下文档:
JAVA总复习(周磊版).doc
JAVA总复习(刘妍版).doc
JAVA考试的考点.doc
4. 本文档预计会上传到以下位置:
我的blog空间中,位于http://blog.csdn.net/ufool
“交大学海QQ群”(25622090)共享中
“未来资源”(27556485)共享中
交大网络学院交流区,位于http://onlinesjtu.tech.topzj.com/
5. 我也是刚学JAVA,程序中如有不对,请指正。
1、 求一给定矩阵的最大值、最小值,及其元素总和,并将结果输出显示。矩阵类似如下:
1 2 3 4 5
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
程序如下:
// 求一个给定矩阵的最大值、最小值、及其元素总和
public class MatrixDemo
{
public static void main(String[] args)
{
// 定义矩阵,这是随便写的数字,老师给的数字肯定与之不同
int[][] a =
{
{1,2,3,4,5},
{11,12,13,14,15},
{21,22,23,24,25},
{31,32,33,34,35},
};
// 最大值,最小值,总和
int max=0, min=0, sum=0;
System.out.println("矩阵如下:");
for (int i=0; i<a.length; i++)
{
for (int j=0; j<a[i].length; j++)
{
int value = a[i][j];
// 赋初值
if (i==0 && j==0)
max = min = value;
if (max < value)
max = value;
if (min > value)
min = value;
sum += value;
System.out.print(value + " ");
}
System.out.println();
}
// 输出结果
System.out.println();
System.out.println("最后结果为:");
System.out.println("min = " + min);
System.out.println("max = " + max);
System.out.println("sum = " + sum);
}
}
2、 对给定数的序列进行冒泡排序,并将结果输出显示。序列类似如下:
9,1,3,4,2,5,7,6,8
程序如下:
// 冒泡排序
public class BubbleDemo
{
public static void main(String args[])
{
int[] a = {9,1,3,4,2,5,7,6,8};
System.out.println("数组a排序前为:");
listArray(a);
BubbleSort(a);
System.out.println("数组a排序后为:");
listArray(a);
}
// 列表数组
static void listArray(int[] a)
{
for(int i=0; i<a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
// 冒泡排序,升序
static void BubbleSort(int[] a)
{
for (int i=0; i<a.length; i++)
{
for (int j=0; j<i; j++)
{
// 如果要求降序,改为 > 就可以了
if (a[i] < a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
3、 编写程序,编写一个学生信息的应用程序,包括一个学生类(Student),其成员变量包括姓名,年龄,学位,并要求实现输出显示;一个学生类的子类本科生类(Undergraduate extends Student),要求增加专业(specialty);一个研究生类(Graduate extends Student)要求增加研究方向(studydirection).主程序中分别给出本科生类和研究生类的实例。
程序如下:
// 定义学生类
class Student
{
String name;
int age;
String degree;
// 赋初值
void initStudent(String name, int age, String degree)
{
this.name = name;
this.age = age;
this.degree = degree;
}
// 显示姓名、年龄、学位
void studentShow( )
{
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("学位:" + degree);
}
}
// 定义学生类的子类,本科生类
class Undergraduate extends Student
{
String specialty;
// 赋初值
void initUndergraduate(String specialty)
{
this.specialty = specialty;
}
// 显示专业
void undergraduateShow()
{
System.out.println("专业:" + specialty);
}
}
// 定义学生类的子类,研究生类
class Graduate extends Student
{
String studydirection;
// 赋初值
void initGraduate(String studydirection)
{
this.studydirection = studydirection;
}
// 显示研究方向
void graduateShow( )
{
System.out.println("研究方向:" + studydirection);
}
}
public class ClassDemo
{
public static void main(String args[])
{
Undergraduate test1 = new Undergraduate();
Graduate test2 = new Graduate();
test1.initStudent("张三", 25, "本科"); // 调用父类方法
test1.initUndergraduate("计算机");
test1.studentShow(); // 调用父类方法显示
test1.undergraduateShow();
test2.initStudent("李四", 30, "研究生"); // 调用父类方法
test2.initGraduate("生物");
test2.studentShow(); //调用父类方法显示
test2.graduateShow();
}
}
4、 编写一段程序,在当前目录下,创建目录mydir,在该目录下创建5个文件file1.txt, file2.txt, file3.txt, file4.txt, file5.txt,列表显示看是否创建成功;删除file1.txt,再列表显示看是否删除成功;file2.txt改名字为newfile.txt,再列表显示看是否改名成功。(选作其他的有关文件的操作)。
程序如下:
import java.io.File;
class FileDemo
{
// 主程序入口点,并抛出Exception异常
public static void main(String[] args) throws Exception
{
File fd = new File("mydir"); // 创建mydir文件对象
//File fDir=new File(File.separator);
//File fNames=new File(fDir,"mydir");
fd.mkdir(); // 建立名为“mydir”的文件夹
// 通过循环建立五个名为“file[i].txt”文本文件
for(int i=1; i<6; i++)
{
// 利用循环语句定义文件名
String fName = "file"+i +".txt";
// 显示查看(验证测试时使用)
//System.out.println(fName);
// 创建文件对象,并保证”/”的移植性
File f = new File(fd, File.separator+fName);
// 建立文件
f.createNewFile();
// 列表显示看是否创建成功
System.out.println(f+"已建立。");
}
// 显示----,用来分界上一部分的结束和下部分的开始
System.out.println("------------------");
// 创建file1.txt文件对象
File f1=new File(fd,"file1.txt");
// 删除名为“file1.txt”的文本文件
f1.delete();
// 列表显示看是否删除成功
listSubDir();
// 显示----,用来分界上一部分的结束和下部分的开始
System.out.println("------------------");
// 创建file2.txt文件对象
File f2=new File(fd,"file2.txt");
// 创建newfile.txt文件对象
File f2New=new File(fd,"newfile.txt");
// 将file2.txt改名字为newfile.txt
f2.renameTo(f2New);
// 列表显示看是否改名成功
listSubDir();
//当虚拟机执行结束时删除newfile.txt文件,为了再次运行时file2.txt改名正常
f2New.deleteOnExit();
}
// 定义列表显示函数
public static void listSubDir()
{
// 创建mydir文件对象
File fd=new File("mydir");
// 列表mydir文件夹内的文件名,并存入字符数组
String[] n=fd.list();
// 通过字符数组长度,循环显示mydir文件夹内的文件名
for(int i=0; i<n.length; i++)
{
// 输出显示,并保证”/”的移植性
System.out.println(File.separator + fd + File.separator + n[i]);
}
}
}
这个老师提供的答案,下面是我以前写的,仅代参考,程序如下:
import java.io.*;
class MyFileDemo
{
public static void main(String args[]) throws IOException
{
// 构建一个空的目录 mydir
File folder = new File("mydir");
if (!folder.exists())
{
boolean bSuc = folder.mkdir();
if (!bSuc)
{
System.out.println("目录创建不成功。");
return ;
}
}
else
{
makeFolderEmpty(folder);
}
System.out.println("操作目录: " + folder.getAbsolutePath());
System.out.println();
// 在 mydir 下创建5个文件
System.out.println("创建5个文件,显示如下:");
createFile(folder);
listFile(folder);
// 删除 mydir/file1.txt
System.out.println();
System.out.println("删除file1.txt,显示如下:");
File file1 = new File(folder, "file1.txt");
if (file1.exists())
{
file1.delete();
}
listFile(folder);
// 改名 mydir/file1.txt 为 mydir/newfile.txt
System.out.println();
System.out.println("将file2.txt改名为newfile.txt,显示如下:");
File file2 = new File(folder, "file2.txt");
if (file2.exists())
{
File newfile = new File(folder, "newfile.txt");
file2.renameTo(newfile);
}
listFile(folder);
}
// 在指定目录下创建5个文件
static void createFile(File folder) throws IOException
{
for (int i=1; i<=5; i++)
{
File newFile = new File(folder,"file" + i + ".txt");
if (!newFile.exists())
{
newFile.createNewFile();
}
}
}
// 列出指定目录所有的子文件项
static void listFile(File folder)
{
String child[];
child = folder.list();
for (int i=0; i<child.length; i++)
{
System.out.println(child[i]);
}
}
// 使一个目录为空,即删除其中的子文件项
static void makeFolderEmpty(File folder)
{
File childs[] = folder.listFiles();
for (int i=0; i<childs.length; i++)
{
File child = childs[i];
if (child.isDirectory())
{
makeFolderEmpty(child);
}
child.delete();
}
}
}
- JAVA复习资料的程序题汇总
- 《Java程序设计》期末复习资料
- java 基础复习资料
- 国际私法的一些复习资料
- mfc的一些复习资料
- 复习资料
- Java系列-JavaWeb复习资料整理
- Java程序打包汇总
- 我写的力学复习资料
- 我写的化学复习资料
- C语言最重要的知识点复习资料
- C语言最重要的知识点复习资料
- C语言最重要的知识点复习资料
- Java版排序竞赛最终程序汇总
- linux下分析Java程序内存汇总
- linux下分析Java程序内存汇总
- linux下分析Java程序内存汇总
- linux下分析Java程序内存汇总
- 中国比较出名的几个皇帝陵墓----秦皇陵
- Latent Semantic Indexing Model
- c++学习(类的学习)
- SOA软件系统架构:
- left join,inner join,right join,cross join,full join
- JAVA复习资料的程序题汇总
- 依赖注入(Dependency Injection)模式的特点分析与实现
- Blog暂时关闭的调整通知
- 第一篇BLOG:记录自己找工作历程
- vbcrlf
- asp function
- Visual Studio 编码方法
- http://maps.google.com/maps?ll=31.713172,106.94701&z=14&t=h&hl=zh-TW
- SQL语句实现附加数据库,可以改数据库物理文件名,数据库名,非常方便