Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
3 / 3 / 3
Регистрация: 11.03.2017
Сообщений: 37

накидал тут консольный калькулятор. Но вот беда - при компиляции он запрашивает значения целочисленных перемен

11.03.2017, 01:55. Показов 1439. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я новичок (естественно =) ) и накидал тут консольный калькулятор. Но вот беда - при компиляции он запрашивает значения целочисленных переменных, дает их ввести, затем запрашивает значения переменной "z" типа "String", но сразу же завершает работу программы с возвратом "0".
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.company;
 
import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args) {
 
        Scanner in = new Scanner(System.in);
        int x, y;
        String z;
        System.out.println("Enter first number");
        x = in.nextInt();
        System.out.println("Enter second number");
        y = in.nextInt();
        System.out.println("Enter operation symbol");
        z = in.nextLine();
 
        if(z == "+") {
            FPlus(x, y);
        }
        if(z == "-"){
            FMinus(x, y);
        }
        if(z == "*"){
            FUmn(x, y);
        }
        if(z == "/"){
            FDiv(x, y);
        }
    }
 
    public static void FPlus(int x1, int y1){
        int w;
        w = x1 + y1;
        System.out.print(w);
    }
    public static void FMinus(int x1, int y1){
        int w;
        w = x1 - y1;
        System.out.print(w);
    }
    public static void FUmn(int x1, int y1){
        int w;
        w = x1 * y1;
        System.out.print(w);
    }
    public static void FDiv(int x1, int y1){
        int w;
        if(y1 != 0) {
            w = x1 / y1;
            System.out.print(w);
        } else {System.out.println("x/0? Realy?");}
    }
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2017, 01:55
Ответы с готовыми решениями:

Создать консольный калькулятор, в который подаются значения одной строкой, без скобок
Задача следующая: создать консольный калькулятор, в который подаются значения одной строкой, без скобок, например calc 2+6/8-9*4+7/8....

поднимаю консольный SIP user agent на raspberry pi вот нет звука при входящем вызове
Здравствуйте товарищи! Наверное уже всех замучил со своей малиной особенно того товарища который мне всй время отвечает, но не суть. ...

Поднимаю консольный SIP user agent на raspberry pi вот нет звука при входящем вызове
Здравствуйте товарищи! Наверное уже всех замучил со своей малиной особенно того товарища который мне всё время отвечает, но не суть. ...

6
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
11.03.2017, 04:20
Цитата Сообщение от POSTAL5532 Посмотреть сообщение
if(z == "+")
Строки так не сравнивают. Если нужно сравнить две строки, то используйте
Java
1
str1.equals(str2);
1
3 / 3 / 3
Регистрация: 11.03.2017
Сообщений: 37
11.03.2017, 04:32  [ТС]
Gr1f0nn, Спасибо за ответ, уже разобрался. Но появилась 2я проблема - при сравнении
Java
1
2
int x =1, y = 2;
if(x == 2){.......}
выдает "Condition x==y is always false", сравнить через equals() не вышло (я так понял, что из-за того что сравниваю int). Google вразумительного ответа не дал - сразу в дебри, в книгах ответа тоже не нашел. На C++ проблем с этим не было)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.03.2017, 10:06
Ты сравниваешь 1 и 2.
1
9 / 9 / 1
Регистрация: 21.02.2016
Сообщений: 36
11.03.2017, 18:06
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);
        int firstNumber;
        int secondNumber;
        String operator;
        System.out.print("Enter first number ");
        firstNumber = userInput.nextInt();
        System.out.print("Enter second number ");
        secondNumber = userInput.nextInt();
        System.out.print("Enter operation symbol ");
        operator = userInput.next();
        if ("+".equals(operator)) {
            System.out.print(getAdd(firstNumber, secondNumber));
        }
        if ("-".equals(operator)) {
            System.out.print(getSub(firstNumber, secondNumber));
        }
        if ("*".equals(operator)) {
            System.out.print(getMult(firstNumber, secondNumber));
        }
        if ("/".equals(operator)) {
            System.out.print(getDiv(firstNumber, secondNumber));
        }
    }
 
    static double getAdd(int x1, int y1) {
        return x1 + y1;
    }
 
    static double getSub(int x1, int y1) {
        return x1 - y1;
    }
 
    static double getMult(int x1, int y1) {
        return x1 * y1;
    }
 
    static double getDiv(int x1, int y1) {
        if (y1 == 0 || x1 == 0) {
            System.out.println("x/0? Realy?");
        }
        return x1 / y1;
    }
}
1
3 / 3 / 3
Регистрация: 11.03.2017
Сообщений: 37
11.03.2017, 18:11  [ТС]
return 0, Спасибо, примерно так же делал. Сегодня прочитал что в java можно использовать переключатели под управлением String - код стал значительно короче). Есть еще вопрос
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.company;
 
import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args) {
 
        Scanner in = new Scanner(System.in);
        int x, y;
        String z;
        System.out.println("Enter first number");
        x = in.nextInt();
        System.out.println("Enter second number");
        y = in.nextInt();
        System.out.println("Enter operation symbol");
        z = in.nextLine();
        if(x == y){
            System.out.println("212121212121");
        }
 
        if(z.equals("+")) {
            FPlus(x, y);
        }
        if(z.equals("-")){
            FMinus(x, y);
        }
        if(z.equals("*")){
            FUmn(x, y);
        }
        if(z.equals("/")){
            FDiv(x, y);
        }
    }
 
    public static void FPlus(int x1, int y1){
        int w;
        w = x1 + y1;
        System.out.print(w);
    }
    public static void FMinus(int x1, int y1){
        int w;
        w = x1 - y1;
        System.out.print(w);
    }
    public static void FUmn(int x1, int y1){
        int w;
        w = x1 * y1;
        System.out.print(w);
    }
    public static void FDiv(int x1, int y1){
        int w;
        if(y1 != 0) {
            w = x1 / y1;
            System.out.print(w);
        } else {System.out.println("x/0? Realy?");}
    }
 
}
- при запросе переменных поволяет их ввести с клавиатуры, но при запросе строки - срау же завершает программу с возвратом 0. Исправлял дублированием запроса сроки
Java
1
2
z = in.nextLine();
z = in.nextLine();
0
9 / 9 / 1
Регистрация: 21.02.2016
Сообщений: 36
11.03.2017, 18:20
Я не понял, что вы мне адресовали. Знаю одно, вы должны перестать писать код в процедурном стиле.

Добавлено через 3 минуты
>>Исправлял дублированием запроса сроки.
Почитайте про различие между чтением слова и строки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2017, 18:20
Помогаю со студенческими работами здесь

При компиляции некорректная кириллица. Вот код
#pragma hdrstop #include <stdio.h> #include <conio.h> #include <stdlib.h> #define eof 71 #define max 1000 #define from 4 ...

сделал вот такой вот php css, походу я намудрил тут что голову можно сломать, можно ли это превести в чувство?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html...

вот тут скрин
вот, что не так

Уважаемые знатоки. Обновлением поля в mysql тут у меня беда. SOS
Уважаемые Разработчики, Девелоперы и прочие знатоки php и mysql. Такая задача у меня. Мне поручили сделать сайт и дали готовое БД. А там...

случилась небольшая беда с видюхой вот надо бы что то подобрать
Господа хорошие искренне надеюсь и всецело полагаюсь на вашу помощь и поддержку сообщаю вот такую новость точнее даже 2 подскажите кто что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru