Will_Beethoven 2015-05-18 02:04 采纳率: 57.1%
浏览 1626
已采纳

新人在学习Thinking in java 中遇到的一点问题拜托大家来帮帮忙

// Implementing an interface to conform to a method
import java.nio.*;
import java.util.*;

public class RandomWords implements Readable{

private static Random rand = new Random();

//24位大写字母
private static final char[] capitals =
"ABCDEFGHIJKLMNOPQRSTUVWSYZ".toCharArray();
//24位小写字母
private static final char[] lowers =
"abcdefghijklmnopqrstuvwsyz".toCharArray();
//5位元音字母
private static final char[] vowels =
"aeiou".toCharArray();
//为什么要写这个int
private int count;
public RandomWords(int count){ this.count = count; }
public int read(CharBuffer cb){
//什么意思
//我把这句话删了都不影响输出
if(count-- == 0)
return -1;

cb.append(capitals[rand.nextInt(capitals.length)]);
for(int i = 0;i < 4; i++){
  cb.append(vowels[rand.nextInt(vowels.length)]);
  cb.append(lowers[rand.nextInt(lowers.length)]);
}
cb.append(" ");
//这里返回数值的意义在哪?
//我把这句话删了都不影响输出
return 10;

}

public static void main(String[] args){
//句子中的new RandomWords(10)是什么意思
Scanner s = new Scanner(new RandomWords(10));
while(s.hasNext())
System.out.println(s.next());
}
}

  • 写回答

1条回答 默认 最新

  • Evankaka 博客专家认证 2015-05-18 04:47
    关注

    代码太乱了,上图片来看看
    new RandomWords(10)生成一个RandomWords实例,其中参数为10
    //为什么要写这个int
    private int count;
    因为构造函数要用到,因为函数read要用到。

    //我把这句话删了都不影响输出
    if(count-- == 0)
    return -1;
    肯定不影响输出啊,你count=10的,这里就只判断了一下,你输入new RandomWords(0)就影响了

    //这里返回数值的意义在哪?
    //我把这句话删了都不影响输出
    return 10;
    因为int read函数要求返回一个int。。你删除了有可能会出错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致