ПРЕДУПРЕЖДЕНИЕ: я не прошу лучшего кода, я прошу более короткий код для HackerRank, просто чтобы узнать, что можно сделать, чтобы его сократить.
Я новичок в Java и пытался решить эту проблему FizzBuzz:
Напишите программу, которая печатает числа от 1 до 100. Но для числа, кратного трем, вместо числа выведите >“Fizz”, а для числа, кратного пяти, выведите “Buzz”. Для чисел, кратных как трем, так и пяти, выведите «FizzBuzz».
Я написал свое решение как можно короче.
class Solution{
public static void main(String[]b){
for(int i=1;i<101;i++){
String a=(i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i+"";
System.out.println(a);}}}
и я получил 3,6 балла. Но, очевидно, есть что улучшить, потому что некоторые люди написали его на 27 символов меньше. Как это возможно? Какие-либо предложения? Меня не волнуют ранги, я просто хочу знать, чего мне не хватает.
РЕДАКТИРОВАТЬ: Итак, с вашей помощью, я сделал это так:
class Solution{public static void main(String[]b){for(int i=1;i<101;i++){System.out.println((i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i);}}}
и кажется я избавился от 14 символов. Бог знает, что сделали другие люди, чтобы потерять еще 13 персонажей. В любом случае, спасибо.
+""
послеi
в SOP. Это действительно неуместно. - person RainMaker   schedule 05.11.2013