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 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序