Как я могу найти максимальное число в коде? - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу, чтобы мой код выводил 10 чисел в каждой строке и подсчитывал, сколько их чисел.Я также хочу иметь возможность найти максимальное количество.У меня проблемы с выяснением, как найти макс.Вот мой код.

int valCount = 0;
int numCount =0;

while (startingNum > 1) {
 int count = 0;
 System.out.print(startingNum + " ");
  valCount++;

  if(valCount%10 ==0)
    System.out.println();
  if (startingNum % 2==0) {
    startingNum = startingNum/2;
    numCount++;
} else {
    startingNum = (startingNum*3) +1; 
    numCount++;
 }
}

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Это правильный код:

public static void main(String[] args) {
    int startingNum = 27;
    int counter = 0;
    while (startingNum > 1) {
        counter++;
        System.out.print(startingNum + " ");
        if (counter % 10 == 0)
            System.out.println();
        if (startingNum % 2 == 0) {
            startingNum = startingNum / 2;
        } else {
            startingNum = (startingNum * 3) + 1;
        }
    }
    System.out.println(1);
}
0 голосов
/ 07 декабря 2018

Вы можете использовать счетчик, увеличивая его на каждом отпечатке, когда вы достигнете кратного 10, печатайте новую строку, а также для выравнивания различных элементов, я бы предложил использовать printf, здесь я установил %5dпоскольку максимальное число состоит из 4 цифр, если оно увеличивается до 6 цифр, используйте %7d

int valCount = 0;
while (startingNum > 1) {
    System.out.printf("%5d", startingNum);
    valCount++;
    if(valCount%10 ==0)
        System.out.println();
    if (startingNum % 2==0) {
        startingNum = startingNum/2;
    } else {
        startingNum = (startingNum*3) +1; 
    }
}
System.out.printf("    1");

Demo code даст вам:

   27   82   41  124   62   31   94   47  142   71
  214  107  322  161  484  242  121  364  182   91
  274  137  412  206  103  310  155  466  233  700
  350  175  526  263  790  395 1186  593 1780  890
  445 1336  668  334  167  502  251  754  377 1132
  566  283  850  425 1276  638  319  958  479 1438
  719 2158 1079 3238 1619 4858 2429 7288 3644 1822
  911 2734 1367 4102 2051 6154 3077 9232 4616 2308
 1154  577 1732  866  433 1300  650  325  976  488
  244  122   61  184   92   46   23   70   35  106
   53  160   80   40   20   10    5   16    8    4
    2    1
...