第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/25 14:32:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《Java语言程序设计(基础篇)》(第10版 梁勇 著)

第二十一章 练习题答案

21.1

import java.util.*;

public class Exercise21_01 {

public static void main(String[] args) {

LinkedHashSet set1 = new LinkedHashSet(Arrays.asList( new String[]{\, \, \, \, \, \}));

LinkedHashSet set1Clone1 = (LinkedHashSet)set1.clone(); LinkedHashSet set1Clone2 = (LinkedHashSet)set1.clone();

LinkedHashSet set2 = new LinkedHashSet(Arrays.asList( new String[] {\, \, \, \, \}));

set1.addAll(set2);

set1Clone1.removeAll(set2); set1Clone2.retainAll(set2);

System.out.println(\ + set1);

System.out.println(\ + set1Clone1); System.out.println(\ + set1Clone2); } }

21.1附加

import java.util.*;

public class Exercise21_01Extra {

public static void main(String[] args) { System.out.print(\); Scanner input = new Scanner(System.in); String s = input.nextLine();

Character[] list1 = {'A', 'E', 'I', 'O', 'U'};

Set vowels = new HashSet<>(Arrays.asList(list1)); Set vowelsInString = new HashSet<>(); Set consonantsInString = new HashSet<>();

int numbeOfVowels = 0; int numbeOfConsonants = 0;

for (int i = 0; i < s.length(); i++) {

char ch = Character.toUpperCase(s.charAt(i)); if (Character.isLetter(ch)) { if (vowels.contains(ch)) {

if (!vowelsInString.contains(ch)) { vowelsInString.add(ch); numbeOfVowels++; } }

else if (!consonantsInString.contains(ch)) { consonantsInString.add(ch); numbeOfConsonants++; } } }

System.out.println(\ + numbeOfVowels); System.out.println(\ + numbeOfConsonants); } }

21.2

import java.util.*; import java.io.*;

public class Exercise21_02 {

public static void main(String[] args) { if (args.length != 1) { System.out.println(

\); System.exit(1); }

String filename = args[0];

// Create a tree set to hold the words

TreeSet treeSet = new TreeSet();

try {

Scanner in = new Scanner(new File(filename));

String line;

while ((line = in.nextLine()) != null) {

String[] tokens = line.split(\);

for (int i = 0; i < tokens.length; i++) treeSet.add(tokens[i]); } }

catch (Exception ex) { System.err.println(ex); }

// Get an iterator for the set

Iterator iterator = treeSet.iterator();

// Display mappings

System.out.println(\); while (iterator.hasNext()) {

System.out.println(iterator.next()); } } }

21.3

import java.util.*; import java.io.*;

public class Exercise21_03 {

public static void main(String[] args) { // Check usage

if (args.length != 1) {

System.out.println(\); System.exit(1); }

// Array of all Java keywords + true + null

String[] keywordString = {\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \,

\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \};

Set keywordSet =

new HashSet(Arrays.asList(keywordString)); int count = 0; try {

Scanner input = new Scanner(new File(args[0]));

String text = \;

while (input.hasNext()) {

String line = input.nextLine(); line = stripLineComments(line); line = stripLineStringLiterals(line); text += line + \; }

text = stripParagraghComments(text);

String[] tokens = text.split(\); for (String token: tokens) { if (keywordSet.contains(token)) count++; }

System.out.println(\ + count); }

catch (Exception ex) { ex.printStackTrace(); } }

/* Strip line comments */

private static String stripLineComments(String line) { int index = line.indexOf(\);

if (index < 0) return line; else

return line.substring(0, index); }

/* Strip string literals */

private static String stripLineStringLiterals(String line) { int start = line.indexOf(\);

int end = line.indexOf(\, start + 1);

while (start > 0 && end > 0) {

line = line.substring(0, start) + line.substring(end + 1); start = line.indexOf(\); end = line.indexOf(\); }

return line; }

/* Strip paragraph comments */

private static String stripParagraghComments(String text) { int start = text.indexOf(\); int end = text.indexOf(\);

while (start > 0 && end > 0) {

text = text.substring(0, start) + text.substring(end + 2); start = text.indexOf(\); end = text.indexOf(\); }

return text; } }

/** This is an incorrect version. It does not count the case such as (this. Here the this keyword

* is not counted. It does not exclude keywords in the comments *

import java.util.*; import java.io.*;

public class Exercise20_03 {

public static void main(String[] args) { // Check usage

if (args.length != 1) {

System.out.println(\

《Java语言程序设计(基础篇)》(第10版 梁勇 著)第二十一章练习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c856998mj3h8uhsm07tfq670et7c26i0178k_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top