JBTALKS.CC

标题: 我有在java assignment遇到问题。。 [打印本页]

作者: wo不帅    时间: 2011-6-21 07:40 PM
标题: 我有在java assignment遇到问题。。
可以在这里发问吗?
作者: 圻小弟xD    时间: 2011-6-21 08:08 PM
试着到www.google.com寻找答案
可以帮你很多
作者: 宅男-兜着走    时间: 2011-6-21 08:21 PM
很好。 遇到问题是正常的。 没遇到问题才是奇怪的。
作者: wo不帅    时间: 2011-6-21 08:36 PM
回复 2# 圻小弟xD

Zzz...有些东西google找到的都没有说明的。。
作者: wo不帅    时间: 2011-6-21 08:40 PM
问题就是这样的:
-no-argument constructor
-A constructor with parameters
-A copy constructor
-Appropriate setter and getter methods
-The method equals that returns true if two objects contains the same information

问题的需求是需要什么的?
作者: shippo    时间: 2011-6-21 09:09 PM
本帖最后由 shippo 于 2011-6-21 09:32 PM 编辑

回复 5# wo不帅

写得很清楚,你需要建立一个class,里面必须有个3个constructor,利用get set 来控制variable,最后写个equal的bool function 来检查任何两个variable/object是否一样(有相同储存值)。
作者: shippo    时间: 2011-6-21 09:32 PM
本帖最后由 shippo 于 2011-6-21 09:33 PM 编辑

建立一个class:就叫他car吧。
建立一个car(),一个car(string name),一个car(car).
建立一个read only 的variable carName
建立一个equal function

在main 里
car firstCar=new car();
car secondCar=new car("Kancil");
car thirdCar=new car(secondCar);

if(firstCar.equal(secondCar))
xxx;
if(secondCar.equal(thirdCar))
xxx;
作者: 宅男-兜着走    时间: 2011-6-21 10:45 PM
本帖最后由 宅男-兜着走 于 2011-6-21 10:47 PM 编辑

还要 copy constructor.
class Car{
public Car(){
}

public Car(Car car){
this.properti = car.property ... 等等。
}

}


其实 copy 可以很多种做法。
作者: wo不帅    时间: 2011-6-22 02:01 AM
回复  wo不帅

写得很清楚,你需要建立一个class,里面必须有个3个constructor,利用get set 来控制variab ...
shippo 发表于 2011-6-21 09:09 PM


你说的我大概get到了。。。
只不过getset<<<<要怎样用呢?
我问老师,老师都叫我refer note =.= 我看着note怎样都不明白。。
作者: wo不帅    时间: 2011-6-22 02:07 AM
还要 copy constructor.
class Car{
public Car(){
}

public Car(Car car){
this.properti = car.p ...
宅男-兜着走 发表于 2011-6-21 10:45 PM


你这个我不是很明白。。。
干嘛这个public Car(Car car)里面有两个的?
拿来比较的吗?
this<<<是那public Car(Car<<<<<这个的吗?
不好意思,要麻烦大哥解答@@
作者: shippo    时间: 2011-6-22 11:02 AM
你说的我大概get到了。。。
只不过getset
wo不帅 发表于 2011-6-22 02:01 AM


google "get set in Java"

你这个我不是很明白。。。
干嘛这个public Car(Car car)里面有两个的?
拿来比较的吗?
this
wo不帅 发表于 2011-6-22 02:07 AM


public class Car
{
private String properti;

public Car()
{
properti="noname";
}

public Car(Car car)//parameter 是Car class
{
this.properti=car.properti;
}
}

int main()
{
Car A=new Car();
Car B=new Car(A);//这里用了copy constuctor,看上面的code, this.properti=A.properti;
                             // 当你在里面用this的时候代表的是invoking 这个constructor的object,所以this.properti也就是B.properti。
}
作者: 宅男-兜着走    时间: 2011-6-22 01:54 PM
嗯 ... shippo 的是完整的。

没错。

Copy 就是拷贝的意思。
也就是说。
A 车是 2000 CC
Car b 拷贝了 a 车的CC 。

就酱。
作者: shippo    时间: 2011-6-22 02:27 PM
copy constructor in java.
不知哪间名校出的题目?
作者: ~Zero    时间: 2011-6-23 10:17 AM
出这种题目很奇怪吗?
我以前学的时候也是有这样的题目的。

我们叫 default constructor (空的),alternate constructor (with parameter),和 copy constructor。
get set 更麻烦,叫 accessor 和 mutator。
然后还要 equals method 和 toString method。
:-S
作者: ★TsuKiShiRo★    时间: 2011-7-1 01:03 AM
这assignment 的题目怎么跟我的一摸一样啊...

我也是不怎么了解copy constructor的用处
还有equal method..
作者: ~Zero    时间: 2011-7-1 09:52 AM
等以后你了解到 pass by value 和 pass by reference 的时候,你就会了解到 copy constructor 和 equals method 的用处了。
  1. Car a = new Car("Proton", "JXX 1234");
  2. Car b = new Car("Proton", "JXX 1234");

  3. System.out.println("a == b? " + (a == b) );
  4. System.out.println("a equals b? " + a.equals(b) );
复制代码
Output:
a == b? false
a equals b? true

作者: ★TsuKiShiRo★    时间: 2011-7-1 09:44 PM
等以后你了解到 pass by value 和 pass by reference 的时候,你就会了解到 copy constructor 和 equals me ...
~Zero 发表于 2011-7-1 09:52 AM



    pass by value 是 parameter 啊.. pass by reference 是array 那种对吗? 我会..
equal method 是用来compare 整个object??
作者: ~Zero    时间: 2011-7-1 10:21 PM
你要自己去定义自己的 equals method 来真正比较。
在 java 所有 primitive variable 以外的东西都是 object,然后当你用 == 在 object 的时候,java 都会拿它们的 reference 来比较,所以结果都不会是你想要的(除非你真的是要比较他们的 reference。很少时候会要这样啦)。所以要自己去定义自己的 equals method 来比较两个 object 里面的真正 value。
作者: ★TsuKiShiRo★    时间: 2011-7-2 01:25 PM
回复 18# ~Zero


    哦哦.. 大概懂..

可是我现在又出问题了..
public class TestProgram {

    public static void main(String[] args) {
                int option;
                Scanner input = new Scanner(System.in);
                item[] book = new item[100];
                int i = 0;
                do{
                        option = Menu();
                        if(option == 1){
                                System.out.println("Enter item code");
                                book.setItemCode(input.nextInt());
                        }

                        if(option < 0)
                                System.out.println("\n>>>>Enter 0 to exit.");
                        i++;
                }while(option != 0);

    }
}

我在尝试用一个loop 来一直store data 进去object book, 可是却出现一下情况..
1. Add new item
2. Search item
3. Modify item
4. Update item quantity
5. Change item status
6. Show all item
-----------------------
Enter option, 0 to exit>> 1
Enter item code
234
Exception in thread "main" java.lang.NullPointerException

at TestProgram.main(TestProgram.java:22)


enter第一次data就停了.. java.lang.NullPointerException 是什么意思? 要怎样解决??
作者: ~Zero    时间: 2011-7-4 09:58 AM
你的 book 没有 initialize
作者: Dhilip89    时间: 2011-7-4 08:47 PM
这不是TARC的Assignment吗?
作者: wo不帅    时间: 2011-7-5 10:34 PM
回复  ~Zero


    哦哦.. 大概懂..

可是我现在又出问题了..
public class TestProgram {

    ...
★TsuKiShiRo★ 发表于 2011-7-2 01:25 PM


這位仁兄的assignment跟我一樣。。。哈哈
作者: wo不帅    时间: 2011-7-5 10:34 PM
这不是TARC的Assignment吗?
Dhilip89 发表于 2011-7-4 08:47 PM

對啊。。你也懂噢?
作者: wo不帅    时间: 2011-7-5 10:36 PM
我遇到了一些問題。。
try{
            System.out.print("Search which item code:");
            code = searchitem.next();
            //option = Integer.pa//convert to integer
            }
            catch(Exception e){
                    System.out.println("invalid input");
                    search(item);
            }
那個option= 那邊要怎樣打才可以把它換成interger?
作者: 游戏主宰者    时间: 2011-7-5 11:11 PM
除了parse的convert方法...你可以试看valueOf来convert看看...
作者: 宅男-兜着走    时间: 2011-7-5 11:40 PM
回复 24# wo不帅


    http://download.oracle.com/javas ... a/lang/Integer.html
   您可以使用  documentation 内看到的 int parse.
   option = Integer.parseInt(code);

   我假设你要转换的是 code,
   但是这个转换方法有个条件就是,
  1. 必须是 字串类。
  2. 必须是数字 字串。

   不然会有 parse error 的情况出现。   

   如果是 IO Console 的话
   可以使用 scanner , 有自带的转换方法.
作者: wo不帅    时间: 2011-7-5 11:54 PM
public static void stopsell(Item[] item)
    {
            if(noitemsearch==0)
            {
                    System.out.println("No item!!");
            }
           
            else
            {
            int itemcode=0,confirm=0,truefalse=0,cont=0,process=0;
            boolean wronginput=true;
            String code="";
           
            Scanner stopsell = new Scanner(System.in);
            try{
            System.out.print("Choose which item code you want to stop sell :");
            code = stopsell.next();
            itemcode = Integer.parseInt(code);
                    }
                    catch(Exception e){
                    System.out.println("Invalid input");
                    stopsell(item);
            }
           
            for(int i=0;i<item.length;i++)
            {
                    if(item[i].equal(itemcode))
                    {
                            wronginput=true;
                            do{
                        try{
                            System.out.print("Confirm to stop sell this item?(enter 0 for confirm):");
                            confirm = stopsell.nextInt();
                            wronginput = false;
                            }
                            catch(InputMismatchException e){
                            invalidinput();
                            stopsell.nextLine();
                            }
                            }while(wronginput);
                           
                            if(confirm == 0)
                            {
                                    item[i].setSts(0);
                                    truefalse=1;
                                    process=1;
                            }
                           
                            else
                            {
                                    item[i].setSts(1);
                                    System.out.println("Input number was cancel selling");
                                    truefalse=1;
                                    process=0;
                            }
                    }
            }
            if(process==1)
            {
                    System.out.println("Process stop selling has been done");
                    System.out.println("");
                    //menu();
            }
           
            if(truefalse==0)
        {
        invalid();
        System.out.print("Try again type 1/exit to menu type other integer: ");
        cont = stopsell.nextInt();
        
                if(cont==1)
                {
                        stopsell(item);
                }
               
                else
                        System.out.println("");
                       
        }
            }
            //menu();
    }

幹嘛我的method一直跳回去的,不會出去別的method的?
作者: Dhilip89    时间: 2011-7-12 01:09 AM
對啊。。你也懂噢?
wo不帅 发表于 2011-7-5 10:34 PM



因为跟我做的题目一样
作者: wo不帅    时间: 2011-7-13 12:08 AM
回复 28# Dhilip89

是不是有兩個part的?
作者: Dhilip89    时间: 2011-7-13 09:01 AM
回复  Dhilip89

是不是有兩個part的?
wo不帅 发表于 2011-7-13 12:08 AM



没错有2个Parts
AACS2204
作者: wo不帅    时间: 2011-7-19 10:26 PM
有人可以解释写super class要怎样用的啊?@@
作者: 宅男-兜着走    时间: 2011-7-19 11:06 PM
本帖最后由 宅男-兜着走 于 2011-7-19 11:09 PM 编辑

Super Class ...

就是 Class 的 父类。
中文 ... 就是叫父类

子类就是, 继承了父类的 Class.

而子类却能拥有父类的属性, 父类的方法。


怎么用?

public class parentclass{
      private String somedata = "s";
      public void setSomeData(String sd){
                 this.somedata  = sd;
      }

     //----------Other Code--------//
}

public class childclass extends parentclass{

      public childclass(String sd){
                 super.setSomeData(sd);
      }
}


MAIN:
    String sd = "sample";
    childclass c = new childclass(sd);
    // 或者
   c.setSomeData(sd);

   直接Call 他的方法。
  上面的例子是说, 我有个空class 叫做childclass,  childclass 本身没 setSomeData 的方法, 但是却能从父类哪继承。
  继承了,  parentclass, 所以我能使用 parentclass 的方法, 或属性。 但是 访问必须设成 "ublic"
作者: wo不帅    时间: 2011-7-21 10:28 PM
回复 32# 宅男-兜着走

哗,通过你的解释,我明白了一点。。
谢谢。。
作者: ★TsuKiShiRo★    时间: 2011-7-28 08:15 AM
lz 做到part 2了哦~
作者: wo不帅    时间: 2011-7-28 05:11 PM
回复 34# ★TsuKiShiRo★

haha對啊,可是還是有些不會><
作者: ★TsuKiShiRo★    时间: 2011-7-29 09:11 AM

我都还没动功工呢..
会很难吗??
作者: wo不帅    时间: 2011-7-31 02:48 AM
回复 36# ★TsuKiShiRo★

如果自己做法不會難的,如果跟着题目要求的东西全部放进去对我来说蛮难的=.=
很多都不会怎样用T.T
作者: wo不帅    时间: 2011-7-31 04:17 AM
-has a relationship
-is-a relationship
-inheritance
-conposition
-method overriding
-polymorphism
-encapsulation
-abstract classess
-casting objects
-dynamic binding
这些都是什么来的啊?
作者: ★TsuKiShiRo★    时间: 2011-8-1 01:18 PM
回复 37# wo不帅


    呵呵.. 就是这样才test 得到学生的能力嘛..
我现在也是在做着.. 比较麻烦.. 差不多全部coding都要改..
作者: boys8goods    时间: 2011-8-1 02:36 PM
=3="死了啦~
怕赶不完...有谁的可以发给我参考和对比一下吗?
可以的话, 拜托请发去crazyplanet2011@hotmail.com
只是作为参考, 绝不抄袭, 希望大家能帮帮忙, 谢谢 =]
作者: ~Zero    时间: 2011-8-1 04:33 PM
wow. 这个版面变成了同校学生讨论 / “请教” 功课的地方了。

作者: Dhilip89    时间: 2011-8-1 06:17 PM
本帖最后由 Dhilip89 于 2011-8-1 06:26 PM 编辑

我也是在搞着Part 2


作者: wo不帅    时间: 2011-8-1 08:38 PM
那么多人跟我同样assignment题目的噢?
lolz..
作者: Dhilip89    时间: 2011-8-1 08:47 PM
回复 43# wo不帅

都是 AACS 2204 OBJECT-ORIENTED PROGRAMMING TECHNIQUES,当然一样啦~
作者: 宅男-兜着走    时间: 2011-8-1 10:32 PM
我也是在搞着Part 2
Dhilip89 发表于 2011-8-1 06:17 PM



    这是 assignment ??
    看起来像迅雷。
    怎么楼主的是 学JAVA 你的貌似不是。
作者: Dhilip89    时间: 2011-8-2 08:11 AM
这是 assignment ??
    看起来像迅雷。
    怎么楼主的是 学JAVA 你的貌似不是。
宅男-兜着走 发表于 2011-8-1 10:32 PM



我这个要和迅雷做比较还相差一大截
是Java啊
只是用了Eclipse SWT,第一次搞这玩意儿
作者: 宅男-兜着走    时间: 2011-8-2 03:24 PM


出嗅了
我没写过JAVA 抱歉。

只是看过 学长们用的叫做 "SWING" 的东西.
作者: Dhilip89    时间: 2011-8-2 07:38 PM


出嗅了  
我没写过JAVA 抱歉。

只是看过 学长们用的叫做 "SWING" 的东西.
宅男-兜着走 发表于 2011-8-2 03:24 PM



我的Part 1是用swing做的,可是无法满足我的需求
现在Part 2我才打算改用swt,感觉不错用
作者: 宅男-兜着走    时间: 2011-8-2 11:22 PM
回复 48# Dhilip89


    不懂你说的 SWT 是什么  对 JAVA 桌面程式没什么研究。
    也觉得JAVA 很麻烦写, 讨厌下
作者: Dhilip89    时间: 2011-8-3 05:44 AM
回复  Dhilip89


    不懂你说的 SWT 是什么  对 JAVA 桌面程式没什么研究。
    也觉得JAVA 很麻 ...
宅男-兜着走 发表于 2011-8-2 11:22 PM


呵呵,Java有点类似C#
不过我倒觉得Java比.NET简单了
SWT (Standard Widget Toolkit): http://www.eclipse.org/swt/
作者: wo不帅    时间: 2011-8-5 12:32 AM
请问有人可以解释abstract是怎样用的吗?><
作者: Dhilip89    时间: 2011-8-10 11:03 PM
分享我的完成品:http://www.mediafire.com/?lc195lq22d5lv7q
应该可以发现很多bugs




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5