首先,我是学JAVA快三个月,我发帖不是自己没思考,而是真的不知道该怎么写?类,这个概念是有,但在程序中我就不知道该怎么用了,希望在几个题目中,慢慢的去认识Java,去学习Java.但感觉自己对Java不怎么会用.一旦让我做点什么就有点迷茫了 问题又来了,如下: 题一:有100篇帖子,用一个随机整数表示帖子的跟帖树,页面只显示10个跟帖数的帖子.如何才能显示出来呢? 我个人的理解是:假设有100个帖子,每个帖子的跟帖数用一个随机数表示,最后用system.out.println()显示出跟帖数前10的帖子名称和跟帖数目.
但如何选出前10个帖子书,随机数又应该怎么写?不大清楚. 题二:100个用户的论坛,现在根据积分的排名,分别赠予前三名20%,15%,10%的积分. 我个人理解是:从100个用户的随机产生的积分,假如,前三名的积分为500 480 470 ,那么显示的赠予积分应该是500*0.20 480*0.15 470*0.10,当然要现实用户名. 我虽然有些想法,但还是写不出程序.能写出来的老师,能不能发表下你们的看法.
但如何选出前10个帖子书,随机数又应该怎么写?不大清楚. 题二:100个用户的论坛,现在根据积分的排名,分别赠予前三名20%,15%,10%的积分. 我个人理解是:从100个用户的随机产生的积分,假如,前三名的积分为500 480 470 ,那么显示的赠予积分应该是500*0.20 480*0.15 470*0.10,当然要现实用户名. 我虽然有些想法,但还是写不出程序.能写出来的老师,能不能发表下你们的看法.
implements Comparable
{
public int replyCount = 0;
public int getReplyCount()
{
return replyCount;
} public Article(int v)
{
replyCount = v;
} public int compareTo(Object obj)
{
Article a = (Article) obj;
if (replyCount == a.getReplyCount())
{
return 0;
}
if (replyCount > a.getReplyCount())
{
return 1;
}
return -1;
} public static void main(String[] args)
{
List list = new ArrayList();
Random r = new Random();
for (int i = 0; i < 100; i++)
{
list.add(new Article(r.nextInt(500)));
}
Collections.sort(list);
for (int i =99; i > 89; i--)
{
System.out.println( ( (Article) list.get(i)).getReplyCount());
}
}}看不懂的话我也没办法了。
我个人的理解是:假设有100个帖子,每个帖子的跟帖数用一个随机数表示,最后用system.out.println()显示出跟帖数前10的帖子名称和跟帖数目.
但如何选出前10个帖子书,随机数又应该怎么写?不大清楚.
=====================
1)确定类:从这基本可以知道所有的数据都来源于"帖子"(Article),这个是要设计的类。
2)确定类的数据成员:有什么要表现出来的呢?"名称"和"跟帖数目",你已经想到了。现实的应该还有作者,内容等等。这里就这两项可以满足要求了。
3)确定类的行为(方法):1、构造函数;2、显示函数 ;(3、比较函数——也可以用跟帖数目的get方法的)
这个类基本设计完了;然而我们发现它没有实现列出top 10的功能。哦,原来我们还需要一个控制功能的类(Controller)来完成这功能(用Article这个类实现这个功能也不是说不行,但是这符合面向对象的思想么?:帖子里完成了N个帖子的排序、演示……)。同时发现top 10需要排序才可以实现,所以要加上个可以判断帖子大小或者返回本身大小数目的函数,所以加上了上面的方法3。
最后,设计出来的结构差不多是这样的:
-------------Article.java-------------
class Article{
private String title; //名称
private int iNum; //跟帖数目 public Article(String t,int i){//构造函数
//这里给数据赋上值
}
public Article(){ }//无参构造函数
public void display(){
//这里打印这个帖子 } public boolean compareTo(Object obj){
//这里写上比较的方法 }
}--------------------Controller.java------------class Controller{
public static void main(String[] args){
//1、为100个帖子分配空间 //2、排序 //3、打印top 10 }
}
分析的很好哦~~
up一下~
我仔细看了遍 怎么觉得像sql题的
纳了那个怪闷了