Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   list of loop objects... (http://www.velocityreviews.com/forums/t388448-list-of-loop-objects.html)

 mai 11-08-2006 10:47 PM

list of loop objects...

Hi,,
I'm learning Java,, and I was trying to creat a function that performs
a three-level nested loop and returns a list of loop objects indicating
progress through the loop,,but when I ran this code:

package loop;
import java.util.ArrayList;
import java.util.List;

public class Loop{
public int level;
public int counter1;
public int counter2;
public int counter3;

public Loop(int level,int c1, int c2, int c3){
this.level=level;
counter1 = c1;
counter2 = c2;
counter3 = c3;
}
public static List<Loop> doLoops() {
List<Loop> result = new ArrayList<Loop>();
int cnt1=0;
int cnt2=0;
int cnt3=0;

outer: for(;;){
Loop ob1;
ob1= new Loop(1, cnt1, cnt2, cnt3);
cnt1 +=1;

middle: for(;;){
Loop ob2;
ob2= new Loop(2,cnt1,cnt2,cnt3);
cnt2+= 1;

inner : for(;;){
Loop ob3;
ob3 = new Loop(3,cnt1,cnt2,cnt3);
cnt3 +=1;

if (cnt3 % 5 == 0)
break inner;

if (cnt3 % 11 == 0)
break middle;

if (cnt3 % 14 == 0)
break outer;

}
}
}
return result;
}

public static void main(String[] argv) {
int i;
for(i=0; i< doLoops().size(); i++)

System.out.println((doLoops().get(i)));

}
}
I got the following results,,

[loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]

 Oliver Wong 11-08-2006 10:55 PM

Re: list of loop objects...

"mai" <tomaiSA@gmail.com> wrote in message
> Hi,,
> I'm learning Java,, and I was trying to creat a function that performs
> a three-level nested loop and returns a list of loop objects indicating
> progress through the loop,,but when I ran this code:

[code snipped]

> I got the following results,,
>
> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]

What results did you expect (this isn't a sarcastic or rhetorical
question -- I really don't know what it is you're trying to do)? Perhaps you
meant to override the toString() method? See
http://www.javapractices.com/Topic55.cjp

- Oliver

 RedGrittyBrick 11-08-2006 10:58 PM

Re: list of loop objects...

mai wrote:
> Hi,,
> I'm learning Java,, and I was trying to creat a function that performs
> a three-level nested loop and returns a list of loop objects indicating
> progress through the loop,,but when I ran this code:
>
> package loop;
> import java.util.ArrayList;
> import java.util.List;
>
> public class Loop{
> public int level;
> public int counter1;
> public int counter2;
> public int counter3;
>
> public Loop(int level,int c1, int c2, int c3){
> this.level=level;
> counter1 = c1;
> counter2 = c2;
> counter3 = c3;
> }
> public static List<Loop> doLoops() {

<snip>

> public static void main(String[] argv) {
> int i;
> for(i=0; i< doLoops().size(); i++)
>
> System.out.println((doLoops().get(i)));

That returns a reference to the i'th Loop object in the List returned by
doLoops(). If you print a reference you'll get the sort of output you
show below. Maybe you should write a toString() method for your Loop
object and then

System.out.println( doLoops().get(i).toString() );

> I got the following results,,
>
> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]

 mai 11-08-2006 11:05 PM

Re: list of loop objects...

I was trying to print the values of the list. Which are ,supposesdly,
integer values,
Oliver Wong wrote:
> "mai" <tomaiSA@gmail.com> wrote in message
> > Hi,,
> > I'm learning Java,, and I was trying to creat a function that performs
> > a three-level nested loop and returns a list of loop objects indicating
> > progress through the loop,,but when I ran this code:

>
> [code snipped]
>
> > I got the following results,,
> >
> > [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> > loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> > loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> > loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> > loop.Loop@3e25a5, loop.Loop@19821f, loop.Loop@addbf1, loop.Loop@42e816,
> > loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]

>
> What results did you expect (this isn't a sarcastic or rhetorical
> question -- I really don't know what it is you're trying to do)? Perhaps you
> meant to override the toString() method? See
> http://www.javapractices.com/Topic55.cjp
>
> - Oliver

 mai 11-08-2006 11:23 PM

Re: list of loop objects...

Hi,, Thanks for your help,, but I still get the same results even after
writing:
System.out.println(doLoops().get(i).toString());

mai wrote:
> I was trying to print the values of the list. Which are ,supposesdly,
> integer values,
> Oliver Wong wrote:
> > "mai" <tomaiSA@gmail.com> wrote in message
> > > Hi,,
> > > I'm learning Java,, and I was trying to creat a function that performs
> > > a three-level nested loop and returns a list of loop objects indicating
> > > progress through the loop,,but when I ran this code:

> >
> > [code snipped]
> >
> > > I got the following results,,
> > >
> > > [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> > > loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> > > loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> > > loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> > > loop.Loop@3e25a5, loop.Loop@19821f, loop.Loop@addbf1, loop.Loop@42e816,
> > > loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]

> >
> > What results did you expect (this isn't a sarcastic or rhetorical
> > question -- I really don't know what it is you're trying to do)? Perhaps you
> > meant to override the toString() method? See
> > http://www.javapractices.com/Topic55.cjp
> >
> > - Oliver

 Patricia Shanahan 11-09-2006 12:11 AM

Re: list of loop objects...

mai wrote:
> Hi,, Thanks for your help,, but I still get the same results even after
> writing:
> System.out.println(doLoops().get(i).toString());
>
> mai wrote:
>> I was trying to print the values of the list. Which are ,supposesdly,
>> integer values,
>> Oliver Wong wrote:
>>> "mai" <tomaiSA@gmail.com> wrote in message
>>>> Hi,,
>>>> I'm learning Java,, and I was trying to creat a function that performs
>>>> a three-level nested loop and returns a list of loop objects indicating
>>>> progress through the loop,,but when I ran this code:
>>> [code snipped]
>>>
>>>> I got the following results,,
>>>>
>>>> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
>>>> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
>>>> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
>>>> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
>>>> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]
>>> What results did you expect (this isn't a sarcastic or rhetorical
>>> question -- I really don't know what it is you're trying to do)? Perhaps you
>>> meant to override the toString() method? See
>>> http://www.javapractices.com/Topic55.cjp
>>>
>>> - Oliver

>

order.

You are still calling the Loop object toString method, without having
supplied a toString override in the Loop class. Loop's immediate
superclass is Object, so you are using the Object toString method.

You need to add to Loop a method:

public String toString(){
// build the string you want to describe your loop object.
// return it.
}

Patricia

 mai 11-09-2006 01:02 AM

Re: list of loop objects...

Patricia Shanahan wrote:
> mai wrote:
> > Hi,, Thanks for your help,, but I still get the same results even after
> > writing:
> > System.out.println(doLoops().get(i).toString());
> >
> > mai wrote:
> >> I was trying to print the values of the list. Which are ,supposesdly,
> >> integer values,
> >> Oliver Wong wrote:
> >>> "mai" <tomaiSA@gmail.com> wrote in message
> >>>> Hi,,
> >>>> I'm learning Java,, and I was trying to creat a function that performs
> >>>> a three-level nested loop and returns a list of loop objects indicating
> >>>> progress through the loop,,but when I ran this code:
> >>> [code snipped]
> >>>
> >>>> I got the following results,,
> >>>>
> >>>> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> >>>> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> >>>> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> >>>> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> >>>> loop.Loop@3e25a5, loop.Loop@19821f, loop.Loop@addbf1, loop.Loop@42e816,
> >>>> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]
> >>> What results did you expect (this isn't a sarcastic or rhetorical
> >>> question -- I really don't know what it is you're trying to do)? Perhaps you
> >>> meant to override the toString() method? See
> >>> http://www.javapractices.com/Topic55.cjp
> >>>
> >>> - Oliver

> >

>
> order.
>
> You are still calling the Loop object toString method, without having
> supplied a toString override in the Loop class. Loop's immediate
> superclass is Object, so you are using the Object toString method.
>
> You need to add to Loop a method:
>
> public String toString(){
> // build the string you want to describe your loop object.
> // return it.
> }
>
> Patricia

Thanx for your message,, but shouldn't doLoops().get(i) return the
element of the index i in the list,, that's what i understood from the
java doc,, and I don't know how to build the string in the toString
method :s ,, can u help me further more,, Thanx once again

 Patricia Shanahan 11-09-2006 01:59 AM

Re: list of loop objects...

mai wrote:
> Patricia Shanahan wrote:
>> mai wrote:
>>> Hi,, Thanks for your help,, but I still get the same results even after
>>> writing:
>>> System.out.println(doLoops().get(i).toString());
>>>
>>> mai wrote:
>>>> I was trying to print the values of the list. Which are ,supposesdly,
>>>> integer values,
>>>> Oliver Wong wrote:
>>>>> "mai" <tomaiSA@gmail.com> wrote in message
>>>>>> Hi,,
>>>>>> I'm learning Java,, and I was trying to creat a function that performs
>>>>>> a three-level nested loop and returns a list of loop objects indicating
>>>>>> progress through the loop,,but when I ran this code:
>>>>> [code snipped]
>>>>>
>>>>>> I got the following results,,
>>>>>>
>>>>>> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
>>>>>> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
>>>>>> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
>>>>>> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
>>>>>> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]
>>>>> What results did you expect (this isn't a sarcastic or rhetorical
>>>>> question -- I really don't know what it is you're trying to do)? Perhaps you
>>>>> meant to override the toString() method? See
>>>>> http://www.javapractices.com/Topic55.cjp
>>>>>
>>>>> - Oliver

>> order.
>>
>> You are still calling the Loop object toString method, without having
>> supplied a toString override in the Loop class. Loop's immediate
>> superclass is Object, so you are using the Object toString method.
>>
>> You need to add to Loop a method:
>>
>> public String toString(){
>> // build the string you want to describe your loop object.
>> // return it.
>> }
>>
>> Patricia

>
> Thanx for your message,, but shouldn't doLoops().get(i) return the
> element of the index i in the list,, that's what i understood from the
> java doc,, and I don't know how to build the string in the toString
> method :s ,, can u help me further more,, Thanx once again
>

Are you following a course, tutorial, or book? This exercise, in its
current form, should not appear until after you know a little string
manipulation and have seen some toString examples.

An alternative way is to forget about printing Loop objects directly,
and instead print the fields, for example doLoops().get(i).level.

Patricia

 Daniel Pitts 11-09-2006 02:10 AM

Re: list of loop objects...

mai wrote:
> Patricia Shanahan wrote:
> > mai wrote:
> > > Hi,, Thanks for your help,, but I still get the same results even after
> > > writing:
> > > System.out.println(doLoops().get(i).toString());
> > >
> > > mai wrote:
> > >> I was trying to print the values of the list. Which are ,supposesdly,
> > >> integer values,
> > >> Oliver Wong wrote:
> > >>> "mai" <tomaiSA@gmail.com> wrote in message
> > >>>> Hi,,
> > >>>> I'm learning Java,, and I was trying to creat a function that performs
> > >>>> a three-level nested loop and returns a list of loop objects indicating
> > >>>> progress through the loop,,but when I ran this code:
> > >>> [code snipped]
> > >>>
> > >>>> I got the following results,,
> > >>>>
> > >>>> [loop.Loop@10b62c9, loop.Loop@82ba41, loop.Loop@923e30,
> > >>>> loop.Loop@130c19b, loop.Loop@1f6a7b9, loop.Loop@7d772e,
> > >>>> loop.Loop@11b86e7, loop.Loop@35ce36, loop.Loop@757aef,
> > >>>> loop.Loop@d9f9c3, loop.Loop@9cab16, loop.Loop@1a46e30,
> > >>>> loop.Loop@3e25a5, loop.Loop@19821f, loop.Loop@addbf1, loop.Loop@42e816,
> > >>>> loop.Loop@9304b1, loop.Loop@190d11, loop.Loop@a90653, loop.Loop@de6ced]
> > >>> What results did you expect (this isn't a sarcastic or rhetorical
> > >>> question -- I really don't know what it is you're trying to do)? Perhaps you
> > >>> meant to override the toString() method? See
> > >>> http://www.javapractices.com/Topic55.cjp
> > >>>
> > >>> - Oliver
> > >

> >
> > Please don't add your material at the top - its better to keep things in
> > order.
> >
> > You are still calling the Loop object toString method, without having
> > supplied a toString override in the Loop class. Loop's immediate
> > superclass is Object, so you are using the Object toString method.
> >
> > You need to add to Loop a method:
> >
> > public String toString(){
> > // build the string you want to describe your loop object.
> > // return it.
> > }
> >
> > Patricia

>
> Thanx for your message,, but shouldn't doLoops().get(i) return the
> element of the index i in the list,, that's what i understood from the
> java doc,, and I don't know how to build the string in the toString
> method :s ,, can u help me further more,, Thanx once again

doLoops().get(i) will return the element at index i. the element at
index I is a "Loop" object, not an integer.

List<Loop> doLoops; // This declares a list of loops.

List<Integer> integers; // This is a list of Integer objects.

 Oliver Wong 11-09-2006 03:29 PM

Re: list of loop objects...

"mai" <tomaiSA@gmail.com> wrote in message
>
> Patricia Shanahan wrote:
>
>> public String toString(){
>> // build the string you want to describe your loop object.
>> // return it.
>> }
>>

[...]
> I don't know how to build the string in the toString
> method :s ,, can u help me further more,, Thanx once again

public String toString(){
return "Hello world!";
}

and run your program again, and observe the results. That should give you a
hint as to how to implement your toString() method.

- Oliver

 All times are GMT. The time now is 03:35 AM.