Dimych
@ 06-12-2004, 23:42
Добрый вечер!
подскажите плиз, как реализовать метод, который ожидает параметр int.
в методе должны суммироваться все числа от 1 до "параметр" и выводить на экран.
На пример: value = 5, result = 1 + 2 +3 + 4 + 5 = 15
Спасибо!!!!
muaddib
@ 07-12-2004, 00:00
синтакса жабы точно не помню поэтому пишу почти псевдо-кодом:
CODE |
foo(int param) {
int i = 1; int sum = 0;
while ( i < param) { sum += i; System.out.print(i + "+"); //no newline! i++; }
System.out.println( i + "=" + sum);
}
|
вот что-то типа того, если шо нетак я не виноват
Dimych
@ 07-12-2004, 00:09
muaddib
Cпасибо огромное все так только в условии цикла нужно включительно, т.е. while ( i <= param)
Eще раз спасибо!!!!!!!!!!!!!!
muaddib
@ 07-12-2004, 00:17
тогда убери i из второго printlnа, я имел в виду чтоб он вышел на предпосленем числе - i все равно поднимится - но упустил добавку в sum, после while. но и с <= тоже работать будет, только с соответствующими изменениями. удачи.
gfarry
@ 07-12-2004, 00:45
кстати если нужно печатать/вычислять только результат, то вроде формула должна быть (n+1)*n/2, тогда цикл не нужен, да и производительность для больших N значительно лучше.
Dimych
@ 07-12-2004, 03:48
gfarry
Cпасибо за ответ!!!
В задании стоит сделать именно в цикле :)
Раздел "Программирование" пора создавать. :D
result = 0;
for (i = 1; i <= value; i++) result += i;
Dimych
@ 09-04-2005, 18:06
еще один вопросик по Java
нужно,чтобы генерировались числа случайным образом, занасились в массив.При этом нужно проверять, чтоб в массиве небыло одинаковых чисел.
Как это реализовать?
Генерация чисел и запись их в массив не проблема, но вот как проверить, чтоб небыло одинаковых???
CODE |
public class Rnd{
public static void main(String [] args){ Random rnd=new Random(); int [] field=new int[10]; for (int i=0;i<field.length;i++){ while(true){ int ran=rnd.nextInt(11); for (int j=0;j<field.length;j++){ if (ran=field[j]) // отсюдого должно возвращаться в начало бесконечного цикла else field[i]=ran; // после этого должен прерываться бесконечный цикл
} } for (int i=0;i<field.length;i++) System.out.print(field[i]); } } |
что нужно дописать в частях кода, где коментарии???
свои варианты,тоже, приветствуются!!!
thx in advance!!!!
mailby
@ 09-04-2005, 18:49
Можно Set для этого использовать:
CODE |
int length = 10; Random rnd=new Random(); int [] field = new int[length]; Set set = new HashSet(); while(set.size() < length){ Integer integer = new Integer(rnd.nextInt()); set.add(integer); } Object[] array = set.toArray(); for (int i = 0; i < array.length; i++) { field[i] = ((Integer)array[i]).intValue(); System.out.println("field[i] = " + field[i]); }
|
Dimych,
А когда экзамен сдашь, то кому зачет пойдет? :)
Dimych
@ 09-04-2005, 19:27
mailby
спасибо!!!!
Ох ты закрутил, буду разбираться....:)
Зы:а в моем коде не знаешь, что можно подправить/добавить?
Fil
это я для себя мучаюсь....:)
mailby
@ 10-04-2005, 08:48
QUOTE (Dimych @ 09-04-2005, 15:27) |
Зы:а в моем коде не знаешь, что можно подправить/добавить?
|
Твой код можно было бы так переписать
CODE |
Random rnd = new Random(); int[] field = new int[10]; for (int i = 0; i < field.length; i++) { int ran; boolean found; do { found = false; ran = rnd.nextInt(11); for (int j = 0; j < field.length; j++) { if (field[j] == ran) { found = true; break; } } } while (found); field[i] = ran; } for (int i = 0; i < field.length; i++) { System.out.println(field[i]); } |
QUOTE (Dimych @ 09-04-2005, 10:27) |
это я для себя мучаюсь....:) |
Так я как раз о том, что ты не сам мучаешься, а других просишь. Ладо если действительно сложные задачи и не знаешь как подойти к решению. Но самые основы... все-таки такие вещи надо-бы писать самому.
Dimych
@ 10-04-2005, 17:30
QUOTE (FiL @ 10-04-2005, 07:06) |
QUOTE (Dimych @ 09-04-2005, 10:27) | это я для себя мучаюсь....:) |
Так я как раз о том, что ты не сам мучаешься, а других просишь. Ладо если действительно сложные задачи и не знаешь как подойти к решению. Но самые основы... все-таки такие вещи надо-бы писать самому. |
Fil
А ты сразу праграммистом родился??? И азы еще в утробе матери освоил???
Или ты думаешь,я задаю тут вопросы потому, что меня прикалывает флеймом заниматься???
Да и потом, я совета,как лучше учить, не просил!!!
mailby
Спасибо тебе большое!!!!!!!!!!!!!
Dimych,
нет, я программистом не родился. Я учился. Но домашнее задание делал сам :)
Dimych
@ 10-04-2005, 20:18
Fil
Вот и я учусь. Только домашнее задание сам себе выдумываю.... :p