Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 4

Не выводит корректно значения через тип данных

18.03.2021, 00:22. Показов 729. Ответов 9
Метки java (Все метки)

Студворк — интернет-сервис помощи студентам
Принимает только целые числа при вводе, хотя должно принимать с точкой. В чём проблема?

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
60
61
62
63
package com.company;
 
import java.util.Scanner;
 
public class Test {
 
    public void startTest() {
 
        getAnswer("Вік?", "int");
        getAnswer("Студент?(Y-так, N-ні) ", "char");
        getAnswer("Курс", "byte");
        getAnswer("Денна форма навчання? (true/false)?", "boolean");
        getAnswer("Середній бал", "long");
        getAnswer("Рейтинговий бал", "double");
        getAnswer("Бал за програмування", "short");
        getAnswer("Лишилося років навчання?", "float");
 
    }
 
    public void getAnswer(String question, String answerType) {
 
        Scanner answer = new Scanner(System.in);
        System.out.println(question);
 
        if (answerType.equals("char")) {
            char num = answer.next().charAt(0);
            System.out.println(num);
        } else if (answerType.equals("boolean")) {
            boolean num = answer.nextBoolean();
            System.out.println(num);
        }
 
        selectNumType(answerType, answer);
 
    }
 
    static void selectNumType(String numType, Scanner answer) {
 
        if (numType.equals("int")) {
            int num = answer.nextInt();
            System.out.println(num);
        } else if (numType.equals("byte")) {
            byte num = answer.nextByte();
            System.out.println(num);
        }
 
        if (numType.equals("short")) {
            short num = answer.nextShort();
            System.out.println(num);
        } else if (numType.equals("long")) {
            long num = answer.nextLong();
            System.out.println(num);
        }
 
        if (numType.equals("float")) {
            float num = answer.nextFloat();
            System.out.println(num);
        } else if (numType.equals("double")) {
            double num = answer.nextDouble();
            System.out.println(num);
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2021, 00:22
Ответы с готовыми решениями:

Не корректно выводит значения структуры
Не правильно выдает значения из структуры на русском языке #include <iostream> #include <string> #include <cstdlib> ...

не корректно выводит базу данных в делфи
есть программа вроде и селект запросы правильные но вот при работе с делфи почему то косяки на 1 картинке при нажатии кнопки при выводе...

Какой тип данных указать чтобы всё работало корректно?
uses crt; var priv:string; begin if priv='privet' then writeln('Privet'); if priv=('zdravstvuite') or ('zdarova') then ...

9
60 / 41 / 20
Регистрация: 30.01.2019
Сообщений: 133
18.03.2021, 00:43
Когда вводишь значение Рейтинговий бал пиши число с запятой а не точкой
5,5 например
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.03.2021, 08:17
kosta4310, это некошерно
Java
1
2
        Scanner answer = new Scanner(System.in);
        answer.useLocale(Locale.US);
1
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
23.03.2021, 16:16
seganrg, Как проверить тип переменной в Java?
Ответы уже были. У вас много if. Код получается в виде лапши.
Вот ответы были
Можно написать что-то более менее в стиле ООП без бесконечных if.

Добавлено через 6 минут
К примеру. Ссылка не вставилась:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Typetester {
    void printType(byte x) {
        System.out.println(x + " is an byte");
    }
    void printType(int x) {
        System.out.println(x + " is an int");
    }
    void printType(float x) {
        System.out.println(x + " is an float");
    }
    void printType(double x) {
        System.out.println(x + " is an double");
    }
    void printType(char x) {
        System.out.println(x + " is an char");
    }
}
Java
1
2
Typetester t = new Typetester();
t.printType( yourVariable );
Автор кода Mvcoile на сайте fooobar
1
54 / 45 / 18
Регистрация: 09.02.2015
Сообщений: 165
23.03.2021, 18:19
Цитата Сообщение от vvm28 Посмотреть сообщение
Можно написать что-то более менее в стиле ООП без бесконечных if.
Это круто
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
23.03.2021, 18:46
Цитата Сообщение от vvm28 Посмотреть сообщение
Как проверить тип переменной в Java?
Чет некошерно. Не учитываете обертки (Wrapper), а там достаточно забавно с Boxing/Unboxing.
2
54 / 45 / 18
Регистрация: 09.02.2015
Сообщений: 165
23.03.2021, 20:01
Цитата Сообщение от Arsegg Посмотреть сообщение
достаточно забавно с Boxing/Unboxing
Это да, но можно проверить
Java
1
if(value.getClass().getComponentType().isPrimitive())
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
23.03.2021, 20:02
Цитата Сообщение от zoom59rus Посмотреть сообщение
Это да, но можно проверить
У примитива?
0
54 / 45 / 18
Регистрация: 09.02.2015
Сообщений: 165
23.03.2021, 20:04
Подход интересный, ведь есть еще пользовательские типы
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
23.03.2021, 20:18
Для данного конкретного случая подход: "Чем проще - тем лучше" - оправдан, в т. ч. switch по Class<?> смотрится не так плохо (если через перегрузки методов). Разумнее реализовать (без перегрузки методов): getIntAnswer, getFloatAnswer и т. п.
P. S. Опять же сугубо имхо, на продакшене такой подход может быть неуместным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2021, 20:18
Помогаю со студенческими работами здесь

Передача данных через форму TEXTAREA не корректно работает
Нужна помощь! Написал гостевую книгу, данные из формы TEXTAREA передаю методом GET, далее ловлю этот введенный текст с помощью...

Реализовать через тип данных структура при этом выделить память через new[]
В таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

Напишите программу , которая выводит на экран все подмножества множества :{'A','B','C','D'}. Через тип множеств SET
Напишите программу , которая выводит на экран все подмножества множества :{'A','B','C','D'}. Через тип множеств SET.

При передаче данных через тсп винсокет принимаются не корректно
Здравствуйте. Я не давно начал программировать на visual basic 6.0. Еще много чего не знаю. Так что сильно не пинайте. Делаю программу...

Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона
public Form_List(string a) { str = a; InitializeComponent(); dgDocum.DataSource =...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru