Beginner: For loop excercise (stuck)

Hi everyone

I recently started on my new education here in Denmark which focuses on system development and obviously a large part of that is programming. I'm going through some of the initial programming excercises and were doing for loops atm.

We are using the book "Building Java Programs - A back to basics approach (2nd edition)" and im doing an excercise that goes like this:

[b]4. Write a method called printSquare that accepts a minimum and maximum integer and prints a square of lines of
next-higher number. The sequence of numbers on a line wraps back to the minimum after it hits the maximum. For
example, the call printSquare(3, 7);

should produce the following output:

34567
45673
56734
67345
73456

If the maximum passed is less than the minimum, the method produces no output.[/b]

Currently my code is looking like this, but I can't seem to get the last part right:

[code]public class Opg4Kap3 {

public static void main(String[] args) {

printSquare(3, 7);

}

public static void printSquare(int a, int b) {

for (int k=a ; k<=b ; k++) {
System.out.print(k);

for (int i=k+1 ; i<=b ; i++) {
System.out.print(i);

}

for (int r=a ; r<=6 ; r++) {
System.out.print(r);
}

System.out.println();
}

}

}[/code]

If you compile it and run it you can see I'm getting this output, which is close but no cigar:

345673456
45673456
5673456
673456
73456

We don't need to turn this in or anything so I'm not really interested in the final answer, was just hoping someone could give me a clue to the next step so I can finish it though, since it annoys me I can't get the last part right (or if I have to do something completely different to begin with?).

Also this is not supposed to be done with anything but a method and for loops so no if statement tips or anything.