Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленький тест, :) 
:(
    Опции темы
LSD
Дата 11.11.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(integral @  11.11.2006,  14:53 Найти цитируемый пост)
2LSD:   а в своем коде Вы использовали ар. цифры - а этого делать нельзя.

И яспользовал арабские цифры только для ввода изначального числа. При желании можно заменить это дело на ввод с клавиатуры или еще откуда, в чем проблема?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
integral
Дата 11.11.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



Нужно написать ф-цию которая ПРИНИМАЕТ только число и ВОЗРАЩАЕТ результат деления на 32. Подобный ввод изначального числа тоже неправомерный. Нельзя также создать статическую переменную и обращатся к ней или тому подобное. 
Прототип ф-ции :
Код

 int fun(int n)

У меня решение занимает 1 строчку тела ф-ции


--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
LSD
Дата 11.11.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Ага, принципиальная разница, как я задаю число smile 
Код
public int divide(int val)
{
  BigInteger i = new BigInteger(Integer.toString(val)); BigInteger two = BigInteger.ONE.add(BigInteger.ONE); BigInteger div = two.multiply(two).multiply(two).multiply(two).multiply(two); return i.divide(div).intValue();
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
integral
Дата 11.11.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



Ну да, такой ответ конечно подходит smile  
А вот мой вариант:
    
Код

return n >> "abcde".length();



--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
LSD
Дата 11.11.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Вообщем задача сводится к тому, как получить нужное число, не используя арабских цифр.

Как вариант:
Код
return val >> new Object[]{null, null, null, null, null}.length;



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
integral
Дата 11.11.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



Цитата(LSD @ 11.11.2006,  16:44)
Вообщем задача сводится к тому, как получить нужное число, не используя арабских цифр.

Как вариант:
Код
return val >> new Object[]{null, null, null, null, null}.length;

Ага, точно. Токо я в начале (в условии) писал что чем меньше кода - тем лучше. Интересно было бы посмотреть на еще более короткий вариант


--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
shimopus
Дата 15.11.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 25.8.2006

Репутация: 1
Всего: 1



Цитата(integral @  11.11.2006,  16:52 Найти цитируемый пост)
Ну да, такой ответ конечно подходит   
А вот мой вариант:
    
Код

return n >> "abcde".length();




Прикольно smile) Как я сразу то не додумался smile))
PM ICQ Skype GTalk   Вверх
arzamaz16
Дата 2.12.2006, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Всем привет! Посмотрите на код, который не компилируется:

Quq.java
Код

package P1;
 
public class Quq {
    protected int head;
}

MoreQuq.java
Код

package P2;
import P1.Quq;
 
public class MoreQuq extends Quq{
    public void merge(Quq q) {
        int first = q.head;
    }
}
 (head has protected access in P1.Quq)

Если же перед переменной P1.Quq.head добавить модификатор static, компилироваться будет. Почему?
Прошу дать развернутый ответ.

Это сообщение отредактировал(а) arzamaz16 - 2.12.2006, 22:57
PM MAIL   Вверх
w1nd
Дата 3.12.2006, 02:19 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Почитать можно тут и тут.


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
LSD
Дата 10.12.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Есть такой код:
Код
import java.text.SimpleDateFormat;
import java.util.*;

public class Test
{
  public static final long MILLIS_IN_DAY = 24 * 60 * 60 * 1000;
  private static Calendar calendar = Calendar.getInstance();
  private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

  public static void main(String[] args)
  {
    calendar.set(2007, GregorianCalendar.JANUARY, 23);
    Date startDate = calendar.getTime();

    calendar.set(2007, GregorianCalendar.MARCH, 25);
    Date date1 = calendar.getTime();
    calendar.set(2007, GregorianCalendar.MARCH, 26);
    Date date2 = calendar.getTime();

    System.out.println("Start date:   " + dateFormat.format(startDate));
    System.out.println("Date 1:       " + dateFormat.format(date1));
    System.out.println("Date 2:       " + dateFormat.format(date2));

    long diff1 = differenceInDays(startDate, date1);
    long diff2 = differenceInDays(startDate, date2);

    System.out.println("Difference 1: " + diff1);
    System.out.println("Difference 2: " + diff2);
  }

  public static long differenceInDays(Date startDate, Date endDate)
  {
    startDate = removeHrsMinsEtc(startDate);
    endDate = removeHrsMinsEtc(endDate);

    long timeInMillis1 = endDate.getTime();
    long timeInMillis2 = startDate.getTime();

    return (timeInMillis1 - timeInMillis2) / MILLIS_IN_DAY;
  }

  private static Date removeHrsMinsEtc(Date date)
  {
    calendar.setTime(date);
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);
    return calendar.getTime();
  }
}

Который работает неправильно:
Код
Start date:   2007-01-23 15:12:16.585
Date 1:       2007-03-25 15:12:16.585
Date 2:       2007-03-26 15:12:16.585
Difference 1: 61
Difference 2: 61

Если заменить:
Код
calendar.set(2007, GregorianCalendar.MARCH, 25);
Date date1 = calendar.getTime();
calendar.set(2007, GregorianCalendar.MARCH, 26);
Date date2 = calendar.getTime();

на
Код
calendar.set(2007, GregorianCalendar.MARCH, 24);
Date date1 = calendar.getTime();
calendar.set(2007, GregorianCalendar.MARCH, 25);
Date date2 = calendar.getTime();

то все работает правильно:
Код
Start date:   2007-01-23 15:14:02.194
Date 1:       2007-03-24 15:14:02.194
Date 2:       2007-03-25 15:14:02.194
Difference 1: 60
Difference 2: 61


Вопрос: почему программа работает неправильно, и как это можно исправить.

P.S. Этот тест не у всех будет работать.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
goodday1941
Дата 13.12.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: 1
Всего: 9



мм... может в этот день переводят часы на летнее время? smile
Код

return (timeInMillis1 - timeInMillis2-1000*3600) / MILLIS_IN_DAY;

 smile 

Это сообщение отредактировал(а) goodday1941 - 13.12.2006, 18:34


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
goodday1941
Дата 13.12.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: 1
Всего: 9



лан думаю все быстро догадаються, но все же =)

Код

import java.util.*;

public class test
{
  public static void main(String[] args)
  {
  Date date = new Date();
      System.out.println(new Date((new Date()).getTime()));
      System.out.println(new Date((date.getTime()/(1000*3600*24))*3600*1000*24));
    }
}


программа выводит следующий результат:
Код

Wed Dec 13 17:44:21 EET 2006
Wed Dec 13 02:00:00 EET 2006

хотя по идее должен вместо 02:00:00 выводить 00:00:00

почему получается сдвиг во времени на два часа (может быть и другой сдвиг, но на определенное колличество часов)?

как исправить даннную проблемку? smile


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
LSD
Дата 15.12.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(goodday1941 @  13.12.2006,  18:28 Найти цитируемый пост)
мм... может в этот день переводят часы на летнее время?

Именно smile А второй вопрос?
Цитата(LSD @  10.12.2006,  15:16 Найти цитируемый пост)
как это можно исправить


Цитата(goodday1941 @  13.12.2006,  18:46 Найти цитируемый пост)
почему получается сдвиг во времени на два часа (может быть и другой сдвиг, но на определенное колличество часов)?

Ответ на этот вопрос даже есть в FAQ.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 18.4.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Гы 
А в моем 4-м креаторе ВООБЩЕ ничего не выдает, кроме 
Код

Process completed.

PM MAIL   Вверх
powerOn
Дата 13.5.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



есть кусочек кода:

Код

i = 0;
System.out.println(i);


переменная i имеет тип int ( у или double, или float... какой хотите smile).
Необходимо дописать  класс в котором находится данный код, так что бы он не компилировался в строке System.out.println(i);


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




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


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.