Java поменять знак числа

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 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »

[ Время генерации скрипта: 0.1399 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Смена положительного числа на отрицательное или наоборот

Вообщем даже не знаю как реализовать такую вещь как смену положительного числа на отрицательное или наоборот. Я просто новичек в этом деле, сильно не бейте меня.

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(предусмотреть и.

Эксперт JavaЭксперт С++

Лучший ответ

Сообщение было отмечено 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 

Источник

Читайте также:  Как установить pdo php
Оцените статью