欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《Java语言程序设计(基础篇)》(第10版 梁勇 著)第十七章练习题答案.docx

    • 资源ID:67069797       资源大小:49.89KB        全文页数:22页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《Java语言程序设计(基础篇)》(第10版 梁勇 著)第十七章练习题答案.docx

    Java语言程序设计(基础篇)(第10版梁勇著)第十七章 练习题答案17.1import java.io.*; import java.util.*;public class Exercisel7_01 public static void main(String args) throws lOException try (Formatter output = new Formatter(new FileOutputStream("Exercisel7_01.txt"true); )(for (int i = 0; i < 100; i+) output.format("%d", (int)(Math.random() * 100000); ) ) )17.2import java.io.*;public class Exercisel7_02 public static void main(String args) throws lOException try (DataOutputStream output = new DataOutputStream(new FileOutputStream("Exercisel7_02.dat" true); )for (int i = 0; i < 100; i+) output.writelnt(int)(Mathrandom() * 100000); )System.out.println("Done");)17.3import java.io.*;class FixedLengthStringlO /* Read fixed number of characters from a Datalnput stream */ public static String readFixedLengthString(int size, Datalnput in) throws lOException / Declare an array of characterschar chars = new charsize;/ Read fixed number of characters to the arrayfor (int i = 0; i < size; i+) charsi = in.readChar();return new String(chars);)/* Write fixed number of characters to a DataOutput stream */ public static void writeFixedLengthString(String s, int size, DataOutput out) throws lOException char chars = new charsize;/ Fill in string with characterss.getChars(0j s.length(), chars., 0);/ Fill in blank characters in the rest of the arrayfor (int i = Math.min(s.length(size); i < chars.length; i+) charsi=''/ Create and write a new string padded with blank characters out.writeChars(new String(chars);) )17.10import java.io.*;public class Exercisel7_10 public static void main(String args) throws Exception / Check usageif (args.length != 2) System.out.println("Usage: java Exercisel7_10 SourceFile numberOfPieces");System.exit(l);BufferedlnputStream input = new BufferedlnputSt ream (new FileInputStream( new File(args0);)(int numberOfPieces = Integer.parselnt(args1);System.out.printin("File size: " + input.available() + " bytes");long fileSize = input.available();int splitFileSize = (int)Math.ceil(1.0 * fileSize / numberOfPieces);for (int i = 1; i <= numberOfPieces; i+) try (BufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(new File(args0 + i);)int value;int count = 0;/ What is wrong if these two conditions are placed in a different order?while (count+ < splitFileSize && (value = input.read() != -1) output.write(value);)17.11import java.io.*;import javafx.application.Application;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.control.Label;import javafx.scene.control.TextField;import javafx. scene.layout.GridPane;import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage;public class Exercisel7_ll extends Application private TextField tflnputFile = new TextField();private TextField tfNumberOfFiles = new TextField();private Button btBrowse = new Button("Browse");private Button btStart = new Button("Start");©Overridepublic void start(Stage primarystage) GridPane gridPane = new GridPane();gridPane.add(new Label("Enter or choose a file:0, 0);gridPane.add(tfInputFile 1, 0);gridPane.add(new Label("Specify the number of smaller files:0, 1);gridPane.add( tfNumberOfFiles1, 1);HBox hBox = new HBox(5);hBox.getChildren().add(btStart);hBox.setAlignment(Pos.CENTER);VBox vBox = new VBox(5);vBox.getChildren().addAll(new Label("If you split a file named temp.txt into 3 smaller files, nthe three smaller files are temp.txt.1 temp.txt.2, and temp.txt,3.gridPane, hBox);/ Create a scene and place it in the stageScene scene = new Scene(vBox 400120);primarystage.setTitle("Exercisel7_ll"); / Set the stage title primarystage.setScene(scene); / Place the scene in the stage primarystage.show(); / Display the stagebtStart.setOnAction(e -> splitFile(tfInputFile.getText()Integer.parselnt(tfNumberOfFiles . getText(););public void splitFile(String filename int numberOfPieces) try (BufferedlnputStream input = new BufferedInputStream( new FilcInputStrcam(new Filc(filcnamc);System.out.println("File size: " + input.available() + " bytes"); long fileSize = input.available();int splitFileSize = (int) Math.ceil(l,0 * fileSize / numberOfPieces);for (int i = 1; i <= numberOfPieces; i+) try (BufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(new File(filename + "." + i); )int value;int count = 0;/ What is wrong if these two conditions are placed in a different / order?while (count+ < splitFileSize && (value = input.read() != -1) output.write(value);) catch (lOException ex) ex.printStackTrace();)/* The main method is only needed for the IDE with limited* JavaFX support. Not needed for running from the command line.*/public static void main(String args) launch(args);) )17.12import java.io.BufferedlnputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.Fileinputstream;import java.io.FileOutputStream;public class Exercisel7_12 public static void main(String args) throws Exception / Check usageif (args.length < 2) System.out . println("Usage: java Exercisel7_12 SourceFilel SoureFilen TargetFile"); System.exit(l);try (/ The last file TargetFile is for outputBufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(new File(argsargs.length - 1); )(for (int i = 0; i < args.length - 1; i+) BufferedlnputStream input = new BufferedlnputStream( new Fileinputstream(new File(argsi);)(int value;while (value = input.read() != -1) output.write(value);)17.13import java.io.*;import javafx.application.Application;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.control.Label;import javafx.scene.control.TextField;import javafx.scene.layout.GridPane;import javafx.scene.layout.HBox;import javafx.scene.layout.VBox;import javafx.stage.Stage;public class Exercisel7_13 extends Application private TextField tflnputFile = new TextField(); private TextField tfNumberOfFiles = new TextField(); private Button btBrowsc = new Button("Browse"); private Button btStart = new Button("Start");©Overridepublic void start(Stage primarystage) GridPane gridPane = new GridPane();gridPane.add(new Label("Enter or choose a file: “), 0, 0);gridPane.add(tfInputFile 1, 0);gridPane.add(new Label("Specify the number of smaller files:0, 1);gridPane.add( tfNumberOfFiles1, 1);HBox hBox = new HBox(5);hBox.getChildren().add(btStart);hBox.setAlignment(Pos.CENTER);VBox vBox = new VBox(5);vBox.getChildren().addAll(new Label("If the base file is named temp.txt with three pieces, ntemp.txt.1, temp.txt.2 and temp.txt.3 are combined into temp.txt.")>gridPane, hBox);/ Create a scene and place it in the stageScene scene = new Scene(vBox, 400, 120);primarystage.setTitle("Exercisel7_13"); / Set the stage title primarystage.setScene(scene); / Place the scene in the stage primarystage.show(); / Display the stagebtStart.setOnAction(e -> j oinFile(tf Input F ile. getText()., Integer.parseInt(tfNumberOfFiles . getText(); ); )public void joinFile(String filename, int numberOfPieces) try (/ The last file TargetFile is for outputBufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(new File(filename);)(for (int i = 1; i <= numberOfPieces; i+) try (BufferedlnputStream input = new BufferedlnputStream( new FileInputStream(new File(filename + i);)int value;while (value = input.read() != -1) output.write(value);)catch (lOException ex) ex.printStackTrace();)/* The main method is only needed for the IDE with limitedJavaFX support. Not needed for running from the command line. */public static void main(String args) launch(args);)17.14import java.util.Scanner;import java.io.*;public class Exercisel7_14 public static void main(String args) throws Exception Scanner input = new Scanner(System.in);("Enter a file to encrypt:");File inputFile = new File(input.nextLine(); System.out.print("Enter the output file:"); File outputFile = new File(input.nextLine();try (BufferedlnputStream in = new BufferedInputStream( new FilelnputStream(inputFile);BufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(outputFile);)int value;while (value = in.read() != -1) output.write(value + 5);)17.15 import java.util.Scanner;import java.io.*;public class Exercisel7_15 public static void main(String args) throws Exception Scanner input = new Scanner(System.in);System.out.print("Enter an encrypted file:");File inputFile = new File(input.nextLine();System.outprint("Enter the output file:");File outputFile = new File(input.nextLine();BufferedlnputStream in = new BufferedInputStream( new FilelnputStream(inputFile);BufferedOutputStream output = new BufferedOutputStream( new FileOutputStream(outputFile);int value;while (value = in.read() != -1) output.write(value - 5);17.16import java.io.*;import java.util.Scanner;public class Exercisel7_16 public static void main(String args) throws Exception Scanner input = new Scanner(System.in);System.out.print("Enter a filename:");String filename = input.nextLine();int counts = new int128;try (BufferedlnputStream fileinput = new BufferedlnputStream( new FilelnputStream(new File(filename);)int r;while (r = fileinput.read() != -1 ) counts(byte)r+;)System.out.printf(H%15s%15snH"ASCII Code", "Counts");for (int i = 0; i < counts.length; i+)if (countsi != 0) System.out.printf ("%15d%15dn", i, countsi);)17.17import java.io.*;public class Exercisel7_17 public static void main(String args) throws Exception BitOutputStream output = new BitOutputStream(newFile(,Exercisel7_17.dat,');output.writeBit();output.close();System. out.println("Done");)public static class BitOutputStream private FileOutputStream output;private int value;private int count = 0;private int mask = 1; / The bits are all zeros except the last onepublic BitOutputStream(File file) throws lOException output = new FileOutputStream(file);)public void writeBit(char bit) throws lOException count+;value = value << 1;if (bit = 1') value = value | mask;if (count = 8) output.write(value);count = 0;)public void writeBit(String bitstring) throws lOException for (int i = 0; i < bitstring.length(); i+) writeBit(bitString.charAt(i);)/* Write the last byte and close the stream. If the last byte is not full, right-shfit with zeros */public void close() throws lOException if (count > 0) value = value << (8 - count); output.write(value);output.close();)17.18import java.io.*;import java.util.Scanner;public class Exercisel7_18 public static void main(String args) throws lOException Scanner input = new Scanner(System.in);System.out.print("Enter a file name:");String filename = input.nextLine();Fileinputstream in = new FileInputStream(filename);int value;while (value = in.read() != -1) System.out.print(getBits(value);in.close();)public static String getBits(int value) public class Exercisel7_03 /* Main method */public static void main(String args) / Read dataint count = 0;try ( / Declare and create data input and output streams DatalnputStream dis =new DatalnputStream(new FileInputStream("Exercisel7_03.dat");)(int total = 0;while (dis.available() > 0) int temp = dis.readlnt();total += temp;count+;System.out.print(temp + "");)System.out.printIn("nCount is " + count);System.out.printIn("nTotal is " + total);)catch (FileNotFoundException ex) System.out.printIn("File not found");)catch (lOException ex) System.out.println(ex getMessage();)17.4import java.io.*;public class Exercisel7_04 public static void main(String args) throws lOException try (BufferedReader input = new BufferedReader(new FileReader(args0);DataOutputStream output = new DataOutputStream(new FilcOutputStrcam(argsl);)(String line;while (line = input.readLine() != null) output.writeUTF(line);String result =int mask = 1;for (int i = 7; i >= 0; i-) int temp = value >> i; int bit = temp & mask;result = result + bit;)return result;)17.19import java.io.*;import java.util.Scanner;public class Exercisel7_19 public static void main(String args) throws lOException Scanner input = new Scanner(System.in);System.out.print("Enter a file name:");String filename = input.nextLine();Fileinputstream in = new FileInputStream(filename);int value;while (value = in.read() != -1) System.out . print(getHex(getBits(value);)/* Convert the 8-bit string to a 2-digit hex number */public static String getHex(String bitstring) / Get the first half hex numberint value = (bitstring.charAt(0) - '0,) * 8 +(bitstring.charAt(l) - 0,) * 4 +(bitstring.charAt(2) - '0') *2+ (bitstring.charAt(3) - '0') * 1;String result = "" + toHexChar(value);/ Get the second half hex number value = (bitstring.charAt(4) - '0') *8+ (bitString.charAt(5) - '0,) * 4 +(bitstring.charAt(6) - '0')*2+(bitString.charAt(7) - '0') * 1;return result + toHexChar(value);)/* Convert an integer to a single hex digit in a character */ public static char toHexChar(int hexValue) if (hexValue <= 9 && hexValue >= 0)return (char)(hexValue + '0');else / hexValue <= 15 && hexValue >= 10return (char)(hexValue - 10 + 1 A');)public static String getBits(int value) String result =心;int mask = 1;for (int i = 7; i >= 0; i-) int temp = value >> i;int bit = temp & mask;result = result + bit;)return result;)17.20import java.io.*;import javafx.application.Application;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.control.Label;import ScrollPane;import javafx.scene.control.TextArea;import javafx.scene.control.TextField;import javafx.scene.layout . BorderPane;import javafx.stage.Stage;public class Exercisel7_20 extends Application private TextField tfFilename = new TextField();private Button btSave = new Button("Save the change");private TextArea taBits = new TextArea();public void start(Stage primarystage) BorderPane panel = new BorderPane();panel.setLeft(new Label("Enter a file: ");panel.setcenter(tfFilename);BorderPane pane = new BorderPane。;pane.setTop(panel);pane.setCenter(new ScrollPane(taBits);pane.setBottom(btSave);BorderPane.setAlignment(btSave, Pos.CENTER);/ Create a scene and place it in the stageScene scene = new Scene(pane> 400, 120);primarystage.setTitle("Exercisel7_20"); / Set the stage

    注意事项

    本文(《Java语言程序设计(基础篇)》(第10版 梁勇 著)第十七章练习题答案.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开