Ладно, с вкладками все в порядке, но помните, что они, вероятно, содержат до 8 пробелов, и этот код, когда я запускаю его, печатает ваши двойные числа до большего количества цифр, чем это. В связанном ответе объясняется, как форматировать ваши числа в меньшем количестве мест.
Связанный вопрос переполнения стека
Лично я бы вместо этого использовал System.out.printf со строкой форматирования.
Вы можете играть с этой строкой формата. Обратите внимание, что я добавил пробелы для удобства чтения - в конечном итоге вы захотите удалить их, как только будете довольны.
public class Main {
public static void main(String[] args) {
for (int n = 16; n<2049; n*=2){
//System.out.println(Math.log(n) +"\t"+ n + "\t"+ (Math.log(n)*n)+"\t"+Math.pow(n,2)+"\t"+Math.pow(n,3)+"\t"+Math.pow(2,n)+"\t");
System.out.printf( "%12.5f\t %6d\t %12.5f\t %14.0f\t %14.0f\t %16.0f\n",
Math.log(n), n,
Math.log(n)*n,
Math.pow(n,2),
Math.pow(n,3),
Math.pow(2,n));
}
}
}
Это не идеально, потому что последний столбец очень быстро становится действительно большим. Но я получаю такой вывод:
2.77259 16 44.36142 256 4096 65536
3.46574 32 110.90355 1024 32768 4294967296
4.15888 64 266.16852 4096 262144 18446744073709552000
4.85203 128 621.05987 16384 2097152 340282366920938460000000000000000000000
5.54518 256 1419.56543 65536 16777216 115792089237316200000000000000000000000000000000000000000000000000000000000000
6.23832 512 3194.02221 262144 134217728 13407807929942597000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
6.93147 1024 7097.82713 1048576 1073741824 Infinity
7.62462 2048 15615.21968 4194304 8589934592 Infinity