2015-08-10 2 views
-4

Я хотел выход как:числа Concat записать в файл по PrintWriter

9000000000 
9000000001 
9000000002 
... 
9999999999 

Я начал цикл из = 9, но печать с началом вывода он дает в файл, начиная от 0 до 9 и продолжающаяся по одному.

class Demo { 

    public static void main(String args[]) throws IOException { 
    long n = 9; 
    int a = 9, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; 
    PrintWriter writer = new PrintWriter("psy.txt", "UTF-8"); 

    for (a = 9; a <= n; j++) { 
     for (b = 0; b <= n; i++) { 
     for (c = 0; c <= n; j++) { 
      for (d = 0; d <= n; i++) { 
      for (e = 0; e <= n; j++) { 
       for (f = 0; f <= n; i++) { 
       for (g = 0; g <= n; j++) { 
        for (h = 0; h <= n; i++) { 
        for (i = 0; i <= n; j++) { 
         for (j = 0; j <= n; i++) { 
         writer.println(a + b + c + d + e + f + g + h + i + j); 
         System.out.println(a + b + c + d + e + f + g + h + i 
          + j); 
         } 
        } 
        } 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    writer.close(); 
    } 
} 
+0

копия ошибка пасты? Вы не увеличиваете a, b, c ... это всегда i или j – Ryan

+0

'System.out.println (a + b + c + d + e + f + g + h + i + j); один номер. Ты этого не хочешь, не так ли? – Andrew

+0

Да, но я хотел, чтобы, когда я запускаю эту программу, файл с «psy.txt» должен иметь значение от 9000000000, но начинаться с 0 –

ответ

0

Вы не можете контактировать номера таким образом. Вам нужно преобразовать их в `String ', чтобы выполнить их. Кроме того, ваши инкременты цикла ошибочны. Все они имеют i ++ и j ++ !!!!!

for (a = 9; a <= n; a++) { 
     for (b = 0; b <= n; b++) { 
      for (c = 0; c <= n; c++) { 
       for (d = 0; d <= n; d++) { 
        for (e = 0; e <= n; e++) { 
         for (f = 0; f <= n; f++) { 
          for (g = 0; g <= n; g++) { 
           for (h = 0; h <= n; h++) { 
            for (i = 0; i <= n; i++) { 
             for (j = 0; j <= n; j++) { 
              String s = a + "" + b + "" + c + "" + d + "" + e + "" + f + "" + g + "" + h + "" + i + "" + j; 
              writer.println(s); 
              System.out.println(s); 
             } 
            } 
           } 
          } 
         } 
        } 
       } 
      } 
     } 
    } 

Вы хотите написать числа один за другим, начиная от 9000000000. Решение является:

for (long l = 9000000000L; l < 9999999999L; l++) { 
     writer.println(l); 
     System.out.println(l); 
} 
+0

Спасибо, но его печать теперь 14-значное значение –

+0

вы не правы, оно слишком велико для целых чисел. – Andrew

+0

Переменная цикла длинна не целое –

Смежные вопросы