Maurice Merlin
Maurice Merlin

Reputation: 47

loop, iterate with unexpected result

i have to make a loop but i tried so many time to get a expected result, but i have no idea what I'm doing wrong.

public class JavaApplication34 {
   int totalResults = 248; //
   int itemsperPage = 10;
   int i = 0;
   int j = 0;
   int count = 0;

   public void makeLoop() {
      for (i = 0; i < 10; i++) {
         System.out.println("nextPage " + i);
         this.count = i + 1;
         for (j = 0; j < 10; j++) {
            System.out.println("Filenummer " + (j + 1));
            this.count = j + 1;
            System.out.println("count " + count);
         }
      }
   }

   public static void main(String[] args) {
      JavaApplication34 myTest = new JavaApplication34();
      myTest.makeLoop();
   }        
}

i should get on the console following result

Upvotes: 0

Views: 93

Answers (4)

Fanish
Fanish

Reputation: 27

int totalResults = 34;
int itemsperPage = 10;
int i = 0;
int j = 1;
int loopSize = (totalResults / itemsperPage);

public void makeLoop() {
    loopSize = (totalResults % itemsperPage > 0) ? ++loopSize : loopSize;

    for (i = 1; i <= loopSize; i++) {
        System.out.print("nextPage " + i + "...");
        for (; j < i * itemsperPage; j++) {
            if (j > totalResults) {
                break;
            }
            System.out.print(" Filenummer " + (j));
        }
        System.out.println();

    }

}

output= nextPage 1... Filenummer 1 Filenummer 2 Filenummer 3 Filenummer 4 Filenummer 5 Filenummer 6 Filenummer 7 Filenummer 8 Filenummer 9 nextPage 2... Filenummer 10 Filenummer 11 Filenummer 12 Filenummer 13 Filenummer 14 Filenummer 15 Filenummer 16 Filenummer 17 Filenummer 18 Filenummer 19 nextPage 3... Filenummer 20 Filenummer 21 Filenummer 22 Filenummer 23 Filenummer 24 Filenummer 25 Filenummer 26 Filenummer 27 Filenummer 28 Filenummer 29 nextPage 4... Filenummer 30 Filenummer 31 Filenummer 32 Filenummer 33 Filenummer 34

Upvotes: 0

Fanish
Fanish

Reputation: 27

        int totalResults = 34;
        int itemsperPage = 10;
        int i = 0;
        int j = 0;
        int loopSize = (totalResults / itemsperPage);

        public void makeLoop() {
            loopSize = (totalResults % itemsperPage > 0) ? ++loopSize : loopSize;

            for (i = 1; i <= loopSize; i++) {
                System.out.print("nextPage " + i + "...");
                for (; j < i * itemsperPage; j++) {
                    if (j > totalResults) {
                        break;
                    }
                    System.out.print(" Filenummer " + (j + 1));
                }
                System.out.println();

            }

        }

Output= nextPage 1... Filenummer 1 Filenummer 2 Filenummer 3 Filenummer 4 Filenummer 5 Filenummer 6 Filenummer 7 Filenummer 8 Filenummer 9 Filenummer 10 nextPage 2... Filenummer 11 Filenummer 12 Filenummer 13 Filenummer 14 Filenummer 15 Filenummer 16 Filenummer 17 Filenummer 18 Filenummer 19 Filenummer 20 nextPage 3... Filenummer 21 Filenummer 22 Filenummer 23 Filenummer 24 Filenummer 25 Filenummer 26 Filenummer 27 Filenummer 28 Filenummer 29 Filenummer 30 nextPage 4... Filenummer 31 Filenummer 32 Filenummer 33 Filenummer 34 Filenummer 35

Upvotes: 0

StackFlowed
StackFlowed

Reputation: 6816

As per the expected output you could change you code too

for (i = 1; i <= (totalResults/itemsperPage) + 1; i++) {
    System.out.println("nextPage " + i);
    for (; j < i* itemsperPage; j++) {
        if(j > totalResults) {
           break;
        }
        System.out.println("Filenummer " + (j + 1));
    }
}

Upvotes: 4

Maurice Merlin
Maurice Merlin

Reputation: 47

i have now the following code, aeshang wrote:

public class JavaApplication34 {

int totalResults = 34;
int itemsperPage = 10;
int i = 0;
int j = 0;

public void makeLoop() {

    for (i = 1; i <= (totalResults / itemsperPage); i++) {
        System.out.println("nextPage " + i);
        for (; j < i * itemsperPage; j++) {
            if (j > totalResults) {
                break;
            }
            System.out.println("Filenummer " + (j + 1));
        }
    }

}

it gives me the following output

  • nexpage 1, filenumber 1, filnumber 2, ...., filnumber 10
  • nexpage 2, filenumber 11,filenumber 12...., filnumber 20
  • ...........
  • nexpage 3, filenumber 21, filenumber 22, ...filnumber 30 ( but it should be till, 34)

Upvotes: 1

Related Questions