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

Приведение типов

12.07.2017, 19:58. Показов 800. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Борюсь с java чуть меньше недели, и тут понадобилось сделать на ней небольшую задачку(типа олимпиадной). После того как все было сделано оказалось, что Integer'a тупо не хватает по условию. Помогите привести все это к лонгу, а заодно в божеский вид.С меня как обычно, но буду крайне благодарен.
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
import java.util.Scanner;
import java.util.Arrays;
public class Main
{
public static void main (String[] args){
Scanner scn = new Scanner(System.in); 
Long w[] = new Long[3]; 
String s="";
Long i;
for(i=Long.valueOf(0);i<3;i++){
    w[i]=scn.nextLong();
}
Long a=w[0];
Long b=w[1];
Long c=w[2];
Long p=scn.nextLong();
Long q[]= new Long[p];
for(i=Long.valueOf(0);i<p;i++){
    q[i]=scn.nextLong();
    if(((Long)(q[i]/b))%2==0){
       if(q[i]%b<=c){
           q[i]=1;
       }
       else{
           q[i]=0;
       }
        }
    
    else{
        if(q[i]%b>b-c){
            q[i]=1;
        }
        else{
            q[i]=0;
        }
         
    }
    
 
}
for (i=0;i<p;i++){
    s=s+q[i];
}
    System.out.println(s);
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2017, 19:58
Ответы с готовыми решениями:

Приведение типов сырых типов
class Gen&lt;T&gt; { T ob Gen(T o) { ob=o; } T getob(){ return ob; } public class RawDemo {

Приведение типов
Доброго времени суток! Есть кусочек кода) byte b = 1; b = b + 1; Здесь понятно, что ошибка компиляции, т.к 1 - int, следовательно i...

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

3
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
13.07.2017, 16:05
Не вижу ни одного Integer'a. Что не так с этой программой?

Не по теме:

Цитата Сообщение от katanaru Посмотреть сообщение
С меня как обычно
А что обычно от пользователя с первым сообщением на форуме?

0
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
13.07.2017, 18:37
Кликните здесь для просмотра всего текста
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
import java.util.Scanner;
 
public class Main {
    private static long getLong(Scanner scn) {
        long value = 0;
        if (scn.hasNextLong()) {
            value = scn.nextLong();
        } else {
            System.out.println("Input data error");  // входные данные неверные
            System.exit(0);
        }
        return value;
    }
 
    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);
        long[] w = new long[3];
        String s = "";
 
        System.out.println("Введите 3 числа для w[3]:");
        for (int i = 0; i < 3; i++) {
            w[i] = getLong(scn);
        }
        long a = w[0];  // не используется
        long b = w[1];
        long c = w[2];
        System.out.println("Введите размер массива q[](>0):");
        int p = (int) getLong(scn);
        long[] q = new long[p];  // индекс все равно приводим к int
        System.out.println("Введите " + p + " элементов массива q[]:");
        for (int i = 0; i < p; i++) {
            q[i] = getLong(scn);
            if (((q[i] / b)) % 2 == 0) {
                if (q[i] % b <= c) {
                    q[i] = 1;
                } else {
                    q[i] = 0;
                }
            } else {
                if (q[i] % b > b - c) {
                    q[i] = 1;
                } else {
                    q[i] = 0;
                }
            }
        }
        for (int i = 0; i < p; i++) {
            s += q[i]+" ";
        }
        System.out.println(s);
    }
}

Смотрите код. Единственно, индексы все равно пришлось сделать int не работают они long.
Ну с другой стороны у Вас памяти столько не будет, чтобы засобачить массив с индексом long...
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,764
13.07.2017, 18:41
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Не вижу ни одного Integer'a. Что не так с этой программой?
Именно это и не так. Наш герой не понимает, где ему нужен int, а где — long. А long там не везде можно (и не везде нужно) использовать. При этом, он, видимо даже подсказки IDE и/или сообщения компилятора не может прочитать. Хотя, судя по тому, что делает его программа, это ему всё равно не поможет.

И как небольшой бонус, он не понимает разницу между примитивными типами и их объектными обёртками.

Добавлено через 3 минуты
Цитата Сообщение от v777779 Посмотреть сообщение
Смотрите код. Единственно, индексы все равно пришлось сделать int не работают они long.
Ну с другой стороны у Вас памяти столько не будет, чтобы засобачить массив с индексом long...
А правильный ответ
Массив q тут и не нужен вовсе. Как и w, кстати7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2017, 18:41
Помогаю со студенческими работами здесь

Приведение типов
Кто подскажет, почему такая запись допускается: byte b = -1; byte c = b; а такая уже нет? byte b = -1; byte c = -b; ...

Приведение типов
Объясните пожалуйста суть следующих строк кода: char x,y; x=(char)+y; x=(char)-y; x=(char)~y; Заранее спасибо!

Приведение типов
Всем привет! Изучаю онлайн курсы на одном сайте. В практической части столкнулся со следующим заданием: Найдите и исправьте ошибки. ...

приведение типов
Добрый день. Объясните, пожалуйста, поподробнее, кусочек кода. Я знаю, что это приведение типов...а что к чему приводится то?...

Приведение типов
Добрый вечер уважаемые форумчане, подскажите, как вместо true и false сделать 1 и 0. boolean p, q; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 17.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 14.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru