输入与输出流和线程习题
线程、输入输出与集合练习题答案

线程、输入输出与集合练习题答案1、C创建一个新的Thread对象并调用start()方法。
对start()方法的调用会立即返回,而线程会异步启动run()方法。
2、C当扩展Thread类时,应该覆盖run()方法以提供线程要执行的代码。
这与Runnable 接口的run()方法的实现是类似的。
3、B、EThread类实现了Runnable接口,并且不是抽象的。
当最后一个非后台线程结束时,程序也就终止了。
Runnable接口有一个叫做run的方法,不过该接口没有规定实现必须定义一个叫做start的方法。
在一个Runnable对象上调用run()方法无须创建新线程。
Run()是由线程执行的方法。
必须创建Thread类的实例以生成大量的新线程。
4、E我们会创建两个线程对象,但是永远不会启动它们。
在线程对象上必须调用start()方法,使得这些线程可以异步执行run()方法。
5、A、E因为调度程序的确切行为是为定义的,所以打印文本A、B和END的次序是任意的。
打印B的线程是一个后台线程,这意味着程序可以在线程设法打印字母之前终止。
6、B在执行期间我们不能确定是否字母i、j和k中的任意一个会被打印出来。
对于每次的doit()方法调用来说,每个变量对都会递增,而当该方法返回时它们的值总是相等的。
如果check()方法是在第1个和第2个变量递增的间期执行的,一个字母可能被打印的唯一途径就会呈现。
7、D当run()方法的执行终止时,一个线程的生命期也就结束了。
Start()方法的调用是异步的,即它能立即返回,并且能启动线程的运行。
Sleep()或wait()方法的调用只是暂时阻塞线程。
8、B、D首先计算的是内部currentThread方法调用,并将打印出23作为第一个数字。
Main线程打印的最后一个数字是14。
在main线程结束之后,内部currentThread方法创建的线程会完成其join()调用,并打印出22。
08_JAVA练习题第八章-输入与输出

08_JAVA练习题第八章-输入与输出[单选题]1.下列数据流中,属于输入流的一项是()。
A)从内存流向硬盘的数据流B)从键盘流向内存的数据流C)从键盘流向显示器的数据流D)从网络流向显示器的数据流答案:B解析: 【解析】输入流是指从外围设备流向主机(包括CPU和内存)的数据流。
2.Java语言提供处理不同类型流的类所在的包是()。
A)java.sqlB)java.utilC)D)java.io答案:D解析: 【解析】java.io 包是Java语言提供处理不同类型流的类所在的包。
3.不属于java.io 包中的接口的是()。
A)DataInputB)DataOutputC)DataInputStreamD)ObjectInput答案:C解析: 【解析】DataInputStream是java.io包中的一个类,其他三个则是java.io 包中的接口。
4.下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入“ //x ”处,完成要求的功能()。
import java.io.*;public class X8_1_4 {public static void main(String[] args){ char ch;try{//xSystem.out.println(ch);}catch(IOExceptione){ e.printStackTrace();}}}A)ch = System.in.read();B)ch = (char)System.in.read();C)ch = (char)System.in.readln();D)ch = (int)System.in.read();答案:B解析: 【解析】System.in.read()方法返回的是字符对应的Unicode码,即返回的类型是int型,而ch 是char类型,因此必须把方法的返回值强制转换为char 类型才能把它赋值给ch变量。
《Java基础程序设计》_课后习题

第一章思考题】1、简述path 环境变量的作用。
2、请说说你对JVM 的理解。
答案】1、path 环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。
当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path 环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。
2、JVM 是Java Virtual Machine 的缩写,全称是Java 虚拟机。
Java 语言的一个非常重要的特性就是跨平台性,而Java 虚拟机是实现这一特性的关键。
不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。
Java语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
第二章【思考题】1、请简述& 与&& 的区别。
2、简述break、continue 和return 语句的区别。
【答案】1、&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
当运算符“ &”和“ && ”的右边为表达式时,使用“ &”进行运算,不论左边为true 或者false,右边的表达式都会进行运算。
如果使用" && ”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“ && ”被称作短路与。
2、break 语句:在switch 条件语句和循环语句中都可以使用break 语句。
当它出现在switch 条件语句中时,作用是终止某个case并跳出switch结构。
(完整版)5Java第五单元练习题-输入流与输出流

5 Java 输入流与输出流5.1 单项选择题1.实现字符流的写操作类是( A . FileReader B . Writer C)。
. FileInputStream D. FileOutputStream2. 实现字符流的读操作类是( )。
A . FileReaderB . WriterC . FileInputStreamD . FileOutputStream3.凡是从中央处理器流向外部设备的数据流称为() A. 文件流 B. 字符流 C. 输入流 D. 输出流4.构造 BufferedInputStream 的合适参数是哪一个?( ) A . FileInputStream B . BufferedOutputStreamC . FileD . FileOuterStream5.在编写 Java Application 程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
D . import java.awt.Graphics ;6.下列流中哪个不属于字符流?( A . InputStreamReaderC . FilterReader 7.流的传递方式是() A. 并行的B. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于( )A. 前者带有缓冲,后者没有B. 前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用A . import java.awt.* ;B import java.applet.Applet ;C . import java.io.* ; )B . BufferedReaderD . FileInputStream2D. 每次读写的字节数不同9.下列流中哪个不属于字节流 A . FileInputStream B . BufferedInputStream C. FilterInputStream D. InputStreamReader10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A . FileInputStreamB . FileOutputStreamC . DataOutputStreamD . FileWriter11. 下列哪一个 import 命令可以使我们在程序中创建输入/ 输出流对象()A .import java.sql.*;B . import java.util.*;C . import java.io.*;D . import .*;12.下面的程序段创建了 BufferedReader 类的对象in ,以便读取本机 c 盘my 文件夹下的文件 1.txt 。
javaio流练习题

javaio流练习题Java IO流练习题Java IO流是Java语言中用于输入和输出操作的重要组件。
掌握IO 流的使用对于Java程序员来说是至关重要的。
本文将介绍一些Java IO 流的练习题,旨在帮助读者熟悉IO流的用法。
练习一:文件复制题目要求:编写一个程序,实现文件的复制功能。
程序接收两个文件路径作为参数,将源文件复制到目标文件路径下,并输出复制完成的信息。
解题思路:1. 使用FileInputStream读取源文件的内容;2. 使用FileOutputStream将读取到的内容写入到目标文件;3. 分别关闭输入流和输出流。
练习二:文本文件排序题目要求:编写一个程序,从一个文本文件中读取多行文本,并按字母顺序对其进行排序,然后将排序后的结果写入到另一个文件中。
解题思路:1. 使用BufferedReader读取文本文件的内容,将每一行存储到一个List<String>中;2. 使用Collections类的sort方法对List<String>进行排序;3. 使用BufferedWriter将排序后的结果写入到另一个文本文件。
练习三:对象序列化与反序列化题目要求:编写一个程序,实现对象的序列化和反序列化。
程序可以接收一个对象作为参数,将对象序列化后保存到一个文件中,并可以将文件中的对象反序列化,并输出对象的内容。
解题思路:1. 创建一个实现Serializable接口的类,表示需要被序列化和反序列化的对象;2. 使用ObjectOutputStream将对象写入到文件中;3. 使用ObjectInputStream从文件中读取对象,并输出对象的内容。
练习四:文件压缩与解压缩题目要求:编写一个程序,实现文件的压缩和解压缩功能。
程序可以接收一个文件作为参数,将文件压缩后保存到另一个文件中,并可以将压缩后的文件解压缩。
解题思路:1. 使用ZipOutputStream将文件压缩并写入到另一个文件中;2. 使用ZipInputStream从压缩文件中读取内容,并解压缩。
c++流类库与输入输出习题答案

double b=2345.67890; char c[100]; cout<<setfill('*'); cout<<left<<setw(12)<<a<<endl; cout<<right<<setw(12)<<a<<endl; cout<<hex<<a<<'\t'<<dec<<a<<'\t'<<oct<<a<<endl; cout<<scientific<<b<<'\t'<<fixed<<b<<endl; return 0; } 4.2 编写一程序,将两个文件合并成一个文件。 #include<iostream> #include<fstream> using namespace std; int main(){ int i=1; char c[1000]; ifstream ifile1("D:\\10_4_3.cpp"); ifstream ifile2("D:\\10_4_4.cpp"); ofstream ofile("D:\\r10_4.cpp"); while(!ifile1.eof()){ ifile1.getline(c,999); ofile<<c<<endl; } while(!ifile2.eof()){ ifile2.getline(c,999); ofile<<c<<endl; } ifile1.close(); ifile2.close(); ofile.close(); return 0; } 4.3 编写一程序,统计一篇英文文章中单词的个数与行数。 #include<iostream> #include<fstream> using namespace std; bool isalph(char); int main(){ ifstream ifile("E:\\lenovo\\english\\daily.doc"); char text[1000]; bool inword=false; int rows=0,words=0; int i; while(!ifile.eof()){
线程、输入输出与集合练习题

线程、输入输出与会合练习题1、以下哪个方法是正确的启动新线程的方法?请选出1个正确的答案。
只须创立新线程对象,新线程会自动启动。
创立新线程对象并调用方法begin()。
创立新线程对象并调用方法start()。
创立新线程对象并调用方法run()。
创立新线程对象并调用方法resume()。
2、扩展Thread类以供给线程的行为时,应重载哪个方法?请选择1个正确的答案。
begin()start()run()resume()behavior()3、以下说法中哪些是正确的?请选出两上正确的答案。
Thread类为抽象类。
Thread类实现Runnable。
(c) 实现Runnable接口的类一定定义一个名为star的方法。
实现Runnable的对象调用run()方法将创立一个新线程。
当最后一个非守卫线形程结束时,程序将停止。
4、假如编译并运转以下程序,将会出现什么结果?public class MyClassextends Thread {public MyClass(String s) {msg=s;}Stringmsg;publicvoidrun() {System.out.println(msg);}args)publicstaticvoidmain(String[]{new MyClass(“Hello”);new MyClass(”World”);}}请选择1个正确的答案。
程序不可以经过编译。
(b)程序顺利经过编译,每次运转时挨次的印出Hello和World。
(c) 程序经过编译并打印一个永不结束的Hello和World字符流。
程序经过编译,运转时打印Hello和World,但次序不行展望。
程序经过编译,运转时不输出任何内容并停止。
5、依据以下程序进行判断,哪些说法是正确的?publicclassThreadedprint{staticThreadmakeThread(finalStrin gid,booleandaemon){Threadt=newThread(id){publicvoidrun() {(id) ;}};t.setDaemon(daemon);t.start();return t;}publicstatic voidmain(String[] args) { Threada=makeThread(“A”,false);Threadb=makeThread(“B”,true);System.out.print(“End\n”);}}请选择两上正确的答案。
Java输入输出流经典编程题

软件091班java程序机试题编程题:0. 求两点之间的距离。
要求:1)设计点类,属性为点的坐标;利用点类设计距离类。
2)两点的坐标通过键盘输入,键盘输入要运用流,输入数据时要有合理的提示信息,输出信息表达明确。
1.实现如下界面功能的图形界面应用程序(字体设置)。
2.编写程序,通过键盘输入多行信息,直接输入一个文本文件中。
要求:键盘输入的信息要使用流。
3.求5个以上学生的Java平均成绩。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)Java成绩的范围在0-分100分,若输错,则需要重新输入。
4.设计一个包含两个命令按钮(显示文字和显示图片)的界面。
要求:1)当单击“显示文字”命令按钮后,命令按钮变为“文字消失”,同时显示一行“单击了命令按钮!”的文字。
单击“文字消失”命令按钮后,命令按钮又变为“显示文字”命令按钮,同时文字“单击了命令按钮!”消失。
如此可以反复。
2)当单击“显示图片”命令按钮后,命令按钮变为“图片消失”,同时显示任意一幅图片。
单击“图片消失”命令按钮后,命令按钮又变为“显示图片”命令按钮,同时图片消失。
如此可以反复。
5.求5个以上人的平均年龄。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)人年龄的范围在0岁-120岁,若输错,则需要重新输入。
6.打开Login1.Java源程序,题目要求见源程序的注释部分。
7.分别利用接口和抽象类,求给定三个以上三角形和给定三个以上矩形的平均周长。
提示:应该产生两个源程序。
要求:1)要利用对象数组生成对象。
2)信息通过键盘输入(利用流)。
3)输入的三角形的三条边要能构成三角形,否则需要重新输入。
8.利用列表框和命令按钮实现如下界面功能的图形界面应用程序()。
要求:提示信息:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入与输出流
一、选择题
1.流的传递方式是(B)
A. 并行的
B. 串行的
C. 并行和串行
D. 以上都不对
2.下列不是java的输入输出流的是(A)
A. 文本流
B. 字节流
C. 字符流
D. 文件流
3.凡是从中央处理器流向外部设备的数据流称为(D)
A. 文件流
B. 字符流
C. 输入流
D. 输出流
4.获取一个不包含路径的文件名的方法为(A)
A. String getName( )
B. String getPath( )
C. String getAbslutePath( )
D. String getParent( )
5.下列属于文件输入输出类的是(D)
A. FileInputStream和FileOutputStream
B. BufferInputStream和BufferOutputStream
C. PipedInputStream和PipedOutputStream
D. 以上都是
6.下列不属于FileInputStream输入流的read()成员函数的是(D)
A. int read();
B. int read(byte b[]);
C. int read(byte b[],int offset,int len);
D. int read(int line);
7.当处理的数据量很多,或向文件些很多次小数据,一般使用(C)流
A. DataOutput
B. FileOutput
C. BufferedOutput
D.PipedOutput
8.当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用(D)流
A. DataOutput
B. FileOutput
C. BufferedOutput
D. PipedOutput
9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文
件的不同地方时,一般使用(B)类访问。
A. FileOutputStream
B. RandomAccessFile
C. PipedOutputStream
D. BufferedOutputStream
10.java中,实现通过网络使用URL访问对象的功能的流是(A)
A. URL输入流
B. Sock输入流
C. PipedInputStream输入流
D. BufferedInputStream输入流
二、填空题
1.java的输入输出流包括___字节流____、字符流、文件流、对象流以及多线程之间通信的管道。
2.java中的非字符输出流都是____OutputStream ____抽象类的子类。
3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是___过滤流____
4. java中的字符输出流都是抽象类____Writer ____的子类.
5. DataOutputStream数据流向文件里写数据的方法为____write() ______.
6. RandomAccessFile所实现的接口是____DataInput接口_____和DataOutput接口.
7. 文件类___File ____是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能.
8. 文件操作中经常需要的是随机访问, java中的___RandomAccessFile ____类提供了随机访问文件的功能.
9.下列程序实现从控制台输入并读取输出字符串. 请将程序补充完整
import java.io.*;
public class CharInput
{
public static void main(String args[]) throws java.io.IOException
}
String s;
inputStreamReader ir;
BufferedReader in;
ir=new______InputStreamReader______(System.io);
in=new______BufferedReader______(ir);
while ((s=in.____readLine()______)!=null)
{
System.out.println(“Read;”+s);
}
}
}
10. 下列程序实现从当前目录的date.ser文件中读取文件内容并显示出来.请将程序补充完整.
import java.io.*;
import java.util.Date;
public class UnSerializeDate
{
UnSerializeDate()
{
Date d=null;
try
{
FileInputStream f=new
_____FileInputStreamf____(“date.ser”);
ObjectInputStream s=new
ObjectInputStream(________);
d=(Date) s.readObject();
f.close();
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println(“Unserialized Date object from date.set”);
System.out.println(“Date:”+d);
}
public static void main(String args[])
{
new UnSerializeDate();
}
}
多线程
一、选择题
1. 线程调用了sleep()方法后,该线程将进入( A )状态。
可运行状态
运行状态
阻塞状态
终止状态
2. 关于java线程,下面说法错误的是(D)
线程是以CPU为主体的行为
java利用线程使整个系统成为异步
创建线程的方法有两种:实现Runnable接口和继承Thread类
新线程一旦被创建,它将自动开始运行
3. 在java中的线程模型包含(D)
A. 一个虚拟处理器
B. CPU执行的代码
C. 代码操作的数据
D. 以上都是。