Java поменять знак числа
Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011
Добрый Вечер.
Помогите Пожалуйста наисать программу которая будет считать, сколько раз в последовательности чисел меняется знак (например, в последовательности –5, –2, 9, 1, 0, 4, –3 знак меняется дважды: с минуса на плюс, затем с плюса на минус).
Без использования массива!
Код |
import java.util.Scanner; |
Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.10.2008
Где: Russia, Samara
Код |
public class Main |
public static void main(String[] args) Scanner con = new Scanner(System.in);
System.out.println(«Здравствуйте, уважаемый пользователь!»);
System.out.print(«Введите количество чиcел N, (N > 0) = «);
int total = con.nextInt();
int signChangeCounter = 0;
boolean prevIsNegative = false;
for (int i = 0; i < total; i++) System.out.print("Введите число № " + (i + 1) + ": ");
int parsed = con.nextInt();
boolean curIsNegative = parsed < 0;
if (i == 0) prevIsNegative = curIsNegative;
> else if (prevIsNegative != curIsNegative) signChangeCounter++;
>
>
>
Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011
Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011
Код |
Введите количество чиcел N, (N > 0) = 7 Введите число № 1: -5 Введите число № 2: -2 Введите число № 3: 9 Введите число № 4: 1 Введите число № 5: 0 Введите число № 6: 4 Введите число № 7: -3 Количество смен знака в последовательности: 4 BUILD SUCCESSFUL (total time: 39 seconds) |
(например, в последовательности –5, –2, 9, 1, 0, 4, –3 знак меняется дважды: с минуса на плюс, затем с плюса на минус).
Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.10.2008
Где: Russia, Samara
Прошу прощения. Глупейшая ошибка
Код |
public class SignsReader |
public static void main(String[] args) Scanner con = new Scanner(System.in);
System.out.println(«Здравствуйте, уважаемый пользователь!»);
System.out.print(«Введите количество чиcел N, (N > 0) = «);
int total = con.nextInt();
int signChangeCounter = 0;
boolean prevIsNegative = false;
for (int i = 0; i < total; i++) System.out.print("Введите число № " + (i + 1) + ": ");
int parsed = con.nextInt();
boolean curIsNegative = parsed < 0;
if (i != 0) if (prevIsNegative != curIsNegative) prevIsNegative = curIsNegative;
signChangeCounter++;
>
> else prevIsNegative = curIsNegative;
>
>
Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011
Код |
boolean curIsNegative = parsed < 0; |
Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.10.2008
Где: Russia, Samara
Суть в следующем:
Есть два флага curIsNegative и prevIsNegative. Первый указывает на то является ли текущее введенное число отрицательным, второй, соответственно, указывает на отрицательность предыдущего введенного значения. На первой итерации цикла выполняется операция prevIsNegative = curIsNegative, по скольку предыдущих значений у нас ещё нет. На последующих итерациях происходит сравнение флагов и в случае их неравенства, это и означает что знак был изменен. А если знак был изменен, то, происходит инкремент счетчика.
Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011
frikey,
Спасибо Вам большое за Помощь.
Если Вам не сложно, помогите Пожалуйста решить ещё одну задачу, выложенную мной в этом разделе!
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!
- Название темы должно отражать её суть! (Не следует добавлять туда слова «помогите», «срочно» и т.п.)
- При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
- В названии темы не нужно указывать происхождение задачи (например «школьная задача», «задача из учебника» и т.п.), не нужно указывать ее сложность («простая задача», «легкий вопрос» и т.п.). Все это можно писать в тексте самой задачи.
- Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
- Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку «Код»). Не забывайте выбирать при этом соответствующий язык.
- Помните: один топик — один вопрос!
- В данном разделе запрещено поднимать темы , т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
- Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
- Если вопрос решён, то воспользуйтесь ссылкой «Пометить как решённый», которая находится под кнопками создания темы или специальным флажком при ответе.
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
Смена положительного числа на отрицательное или наоборот
Вообщем даже не знаю как реализовать такую вещь как смену положительного числа на отрицательное или наоборот. Я просто новичек в этом деле, сильно не бейте меня.
public class MyProject { public static void main (String [] args) { int chislo1 = -5; int chislo2 = -9; int result = chislo1 + chislo2; System.out.print(result); } }
В итоге получим ответ (-14). Но как сделать так, чтобы если знак отрицательный у числа результата, сделать его положительным? Я просто синтаксиса не могу понять.
А так же интересует такой вопрос, вот например:
int chislo1 = -5; int chislo2 = -9; int result = chislo1 + chislo2; System.out.print(result);
Ответ будет (-14). Ну это понятно, потому что я сам задал сложение двум отрицательным числам. А как сделать чтобы ява машина посчитала сама эти числа? Или только вручную задав знак + ? Заранее благодарю за помощь.
Смена положительного на отрицательное
Помогите осуществить: — нужно что бы при вводе допустим числа 100 оно принимало значение -100.
Перевод положительного числа в отрицательное
нужен сегмент программы который число в AL переведет в отрицательное и зпишет его в переменную в.
Изменение положительного числа на отрицательное в JavaScript
Здравствуйте! Подскажите как изменить положительное число с точкой на такое-же но с минусом(-).
После каждого положительного числа файла F1 вставить 0, а каждое отрицательное заменить на его модуль
Добрый день, помогите пожалуйста. Заполнить случайными целыми числами файл F1(предусмотреть и.
Сообщение было отмечено KEKCoGEN как решение
Решение
public class MyProject { public static void main (String [] args) { int chislo1 = -5; int chislo2 = -9; int result = -1 * (chislo1 + chislo2); System.out.print(result); } }
Как поменять знак числа java
Чтобы поменять знак числа на противоположный, в Java можно использовать унарный оператор — . Для примера напишем метод, который будет менять знак числа на противоположный:
class App public static int changeSign(int num) return -num; > >
App.changeSign(-5); // 5 App.changeSign(7); // -7 App.changeSign(); // 0