Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 4379|回复: 24
打印 上一主题 下一主题

JAVA 高手们,我想请问些东西。

[复制链接]

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

跳转到指定楼层
1#
发表于 2009-1-13 08:36 PM |只看该作者 |倒序浏览
class HighArray                                                                            能解释,单单class,还有private,和public 的分别吗?
{
        private long[] a;
        private int nElems;
        //---------------------------------------------------------
       
        public HighArray(int max)
        {
                a = new long[max];
                nElems = 0;
        }       
        //---------------------------------------------------------
       
        public boolean find(long searchKey)
        {
                int j;
                for (j=0; j<nElems;j++)
                        if(a[j]==searchKey)
                                break;
                               
                                if (j == nElems)
                                        return false;
                                else
                                        return true;
        }
        //--------------------------------------------------------
        public void insert(long value)
        {
                a[nElems] = value;
                nElems++;
        }
        //--------------------------------------------------------
        public boolean delete(long value)                                      这句我不是很明白,retuen true还有false 的是怎样的。
        {
                int j;
                for(j=0; j<nElems; j++)
                        if(value ==a[j])
                                break;
                        if(j==nElems)
                                return false;
                                else
                                        {
                                        for(int k=j; k<nElems; k++)
                                                a[k] = a[k+1];
                                                nElems--;
                                                return true;
                                }
        }
        //--------------------------------------------------------
        public void display()
        {
                for(int j=0; j<nElems; j++)
                        System.out.print(a[j]+" ");
                        System.out.print(" ");
        }
        //--------------------------------------------------------
}
class HighArrayApp
        {
    public static void main(String[] args)
    {
    int maxSize= 100;
    HighArray arr;
    arr = new HighArray(maxSize);
           
            arr.insert(77);
            arr.insert(99);
            arr.insert(44);
            arr.insert(55);
            arr.insert(22);
            arr.insert(88);
            arr.insert(11);
            arr.insert(00);
            arr.insert(66);
            arr.insert(33);
           
            arr.display();
           
            int searchKey = 1000;
           
            if(arr.find(searchKey))
                    System.out.println("Found " +searchKey);
                    else
                    System.out.println("Can't find "+searchKey);
                   
                    arr.display();
    }
}

还有就是,为什么 文件名是highArray.java, 但是class 的名字却是HighArray 这样也能启动?没分大小写?




收藏收藏0

2

主题

0

好友

6008

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

2#
发表于 2009-1-13 09:11 PM |只看该作者

回复 #1 宅男-兜着走 的帖子

想请教下,就是那个arr.insert()是属于array一部分?什么用途的?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

3#
发表于 2009-1-13 09:15 PM |只看该作者
private 私有
public 可供外部調用


之前有篇帖子問過了, 去回顧一下吧


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

4#
发表于 2009-1-13 09:20 PM |只看该作者

回复 #2 毛毛小子 的帖子

main 里。

arr = new HighArray(maxSize); // 这句是转换吧~
arr.insert 就要参考回 insert 的method 了。


回复

使用道具 举报

2

主题

0

好友

6008

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

5#
发表于 2009-1-13 09:57 PM |只看该作者

回复 #4 宅男-兜着走 的帖子

噢~~谢谢哦~~让我上了一课了


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

6#
发表于 2009-1-13 10:02 PM |只看该作者

回复 #5 毛毛小子 的帖子

说真的,我也不是很清楚勒。
不如如果你有兴趣知道的话,你可以 copy 这篇程序去问些高手,怕误导你就不好了。


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

7#
发表于 2009-1-13 10:09 PM |只看该作者
em0011
公共厕所和家庭厕所有什么分别


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

8#
发表于 2009-1-13 10:20 PM |只看该作者

回复 #7 goodhermit95 的帖子

公用就是都能用, private 的不能共享。 是这样的意思吧?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

9#
发表于 2009-1-13 10:22 PM |只看该作者
原帖由 毛毛小子 于 2009-1-13 09:11 PM 发表
想请教下,就是那个arr.insert()是属于array一部分?什么用途的?


  1. class HighArray  
  2. {
  3.         private long[] a;
  4.         private int nElems;
  5.         //---------------------------------------------------------
  6.       
  7.         public HighArray(int max)
  8.         {
  9.                 a = new long[max];
  10.                 nElems = 0;
  11.         }      
  12.         //---------------------------------------------------------
  13.       
  14.         public boolean find(long searchKey)
  15.         {
  16.                 int j;
  17.                 for (j=0; j<nElems;j++)
  18.                         if(a[j]==searchKey)
  19.                                 break;
  20.                               
  21.                                 if (j == nElems)
  22.                                         return false;
  23.                                 else
  24.                                         return true;
  25.         }
  26.         //--------------------------------------------------------
  27.         public void [color=Red][b]insert[/b][/color](long value)
  28.         {
  29.                 a[nElems] = value;
  30.                 nElems++;
  31.         }
  32.         //--------------------------------------------------------
  33.         public boolean delete(long value)   
  34.         {
  35.                 int j;
  36.                 for(j=0; j<nElems; j++)
  37.                         if(value ==a[j])
  38.                                 break;
  39.                         if(j==nElems)
  40.                                 return false;
  41.                                 else
  42.                                         {
  43.                                         for(int k=j; k<nElems; k++)
  44.                                                 a[k] = a[k+1];
  45.                                                 nElems--;
  46.                                                 return true;
  47.                                 }
  48.         }
  49.         //--------------------------------------------------------
  50.         public void display()
  51.         {
  52.                 for(int j=0; j<nElems; j++)
  53.                         System.out.print(a[j]+" ");
  54.                         System.out.print(" ");
  55.         }
  56.         //--------------------------------------------------------
  57. }
复制代码



  1. class HighArrayApp
  2.         {
  3.     public static void main(String[] args)
  4.     {
  5.     int maxSize= 100;
  6.     HighArray arr;
  7.     arr = new HighArray(maxSize);
  8.            
  9.             arr.[b][color=Red]insert[/color][/b](77);
  10.             arr.insert(99);
  11.             arr.insert(44);
  12.             arr.insert(55);
  13.             arr.insert(22);
  14.             arr.insert(88);
  15.             arr.insert(11);
  16.             arr.insert(00);
  17.             arr.insert(66);
  18.             arr.insert(33);
  19.            
  20.             arr.display();
  21.            
  22.             int searchKey = 1000;
  23.            
  24.             if(arr.find(searchKey))
  25.                     System.out.println("Found " +searchKey);
  26.                     else
  27.                     System.out.println("Can't find "+searchKey);
  28.                   
  29.                     arr.display();
  30.     }
  31. }
复制代码




注意看紅色的部分


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

10#
发表于 2009-1-13 10:32 PM |只看该作者
filename 和 classname 不一样不能 compile.

return boolean 的用意是, 有时候你的 calling method 可以知道 delete() 成功还是失败.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-12-26 03:12 PM , Processed in 0.146532 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部