Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Need Java-help или первые шаги в Java-программировании.

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

PLAYYOB



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет. Учусь с 0. Стоит задача
Цитата:
Написать программу, выводящую на экран надпись «Лила самая красивая» 5 раз. Каждый раз – с новой строки.

 
Пробую так:

Цитата:
public class Solution
{
    public static void main(String[] args)
    {String s = "Лила " + "самая " + "красивая";
    System.out.printIn(s);
       
    }
}

Выдает ошибку: error: cannot find symbol
    System.out.printIn(s);
              ^
  symbol:   method printIn(String)
  location: variable out of type PrintStream
1 error
 
Если же пишу просто System.out.print(s); то выводит текст. В чем ошибка?  

Всего записей: 7216 | Зарегистр. 21-03-2007 | Отправлено: 14:01 21-11-2014
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PLAYYOB
не printIn, а println (маленькая L вместо I)

Код:
public class Solution
{
    public static void main(String[] args)
    {
       for( int  i=0; i<5; ++i) {
           System.out.println( "Лила самая красивая");
       }
    }
}

Всего записей: 2730 | Зарегистр. 16-10-2003 | Отправлено: 14:08 21-11-2014
PLAYYOB



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
О, благодарю!  
 

Всего записей: 7216 | Зарегистр. 21-03-2007 | Отправлено: 14:17 21-11-2014 | Исправлено: PLAYYOB, 16:02 21-11-2014
PLAYYOB



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Учусь с 0.
Решаю задачу:
 

Цитата:
public class Solution
{
     public static int min(int a, int b)
     
      int m2;
      if (a < b)
      m2 = a;
      else
      m2 = b;
      return m2;  
}

 
Тут все понятно. Но если нужен минимум (максимум) из 20-40 чисел ?.. Наверняка есть какая-то функция, подскажите.

Всего записей: 7216 | Зарегистр. 21-03-2007 | Отправлено: 19:06 27-12-2014
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PLAYYOB
Я бы предложил сделать функцию, которой передаётся массив чисел. А там надо в цикле по массиву пробежаться...

Всего записей: 2730 | Зарегистр. 16-10-2003 | Отправлено: 07:57 28-12-2014 | Исправлено: Garrett, 07:57 28-12-2014
xrom1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задание 1
Известно, что у чисел, которые являются степенью двойки, только один бит имеет значение 1.
Используя IntelliJ IDEA, создайте класс PowerOfTwo.
Напишите программу, которая будет выполнять проверку - является ли указанное число степенью двойки или нет.
 
Тема была про логические операции. Так предполагаю, что нужно сравнивать биты этого числа. Т.е.  
0) переменной chisloBitSEdinicey присвоить 0
1) сначала перевести число в двоичный код
2) узнать, сколько бит у этого числа
3) каким-то образом сравнивать каждый бит числа с 1 (при совпадении увеличивать значение переменной chisloBitSEdinicey на единицу)
4) если значение этой переменной равно 1, то число является степенью двойки, иначе - не является
 
В том направлению мыслю или нет? Дайте подсказку, пожалуйста

Всего записей: 302 | Зарегистр. 02-10-2005 | Отправлено: 09:42 01-03-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xrom1

Цитата:
1) сначала перевести число в двоичный код  
2) узнать, сколько бит у этого числа  
3) каким-то образом сравнивать каждый бит числа с 1 (при совпадении увеличивать значение переменной chisloBitSEdinicey на единицу)  
4) если значение этой переменной равно 1, то число является степенью двойки, иначе - не является  

https://www.tutorialspoint.com/java/lang/integer_bitcount.htm
или так
http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 10:02 01-03-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ещё индусский код применить - перевести в строку (функцией toBinaryString) и подсчитать количество единичек в строке

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 13:08 02-03-2017
xrom1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
https://www.tutorialspoint.com/java/lang/integer_bitcount.htm  

 
Спасибо!
 
 
/**
 * Created by m1 on 03.03.17.
 */
 
import java.lang.*;
public class Stepen2 {
    public static void main(String[] args) {
 
        int i = 32;
        System.out.println("Число = " + i);
 
   /* returns the string representation of the unsigned integer value
   represented by the argument in binary (base 2) */
        System.out.println("Число в двоичной системе = " + Integer.toBinaryString(i));
 
        // returns the number of one-bits
        int Edinichek = Integer.bitCount(i);
        System.out.println("Сколько единичек в двоичном представлении = " + Edinichek);
 
        if ( ( Edinichek == 1 )) {
            System.out.println("Число " + i + " является степенью двойки");
        } else System.out.println("Число " + i + " не является степенью двойки");
    }
    }
 
Число = 32
Число в двоичной системе = 100000
Сколько единичек в двоичном представлении = 1
Число 32 является степенью двойки
 
Process finished with exit code 0
 
 
 
        int i = 555555;
 
Число = 555555
Число в двоичной системе = 10000111101000100011
Сколько единичек в двоичном представлении = 9
Число 555555 не является степенью двойки
 
 
Добавлено:
а вот так в ответах:
 
/**
 * Created by Evgeniy on 11.03.2016.
 */
 
import java.util.Scanner;
 
public class PowerOfTwo {
    public static void main(String[] args) {
        // Ввод с клавиатуры
        Scanner sc = new Scanner(System.in);
        long num = sc.nextLong();
 
        // 128 - 1000 0000
        // &
        // 127 - 0111 1111
        //        - 0000 0000 OK
        if ((num & (num - 1)) == 0) {
            System.out.println(num + " является степенью 2");
        } else {
            System.out.println(num + " не является степенью 2");
        }
    }
}
 
 
решение обратно заданию? не понятен смысл: зачем побитово умножать число и число-1, если в задании про количиство битов в числе?

Всего записей: 302 | Зарегистр. 02-10-2005 | Отправлено: 11:45 03-03-2017 | Исправлено: xrom1, 21:40 03-03-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если в задании про количиство битов в числе?

см. задание, сформулированное вами выше:

Цитата:
Напишите программу, которая будет выполнять проверку - является ли указанное число степенью двойки или нет.
Где в задании говорится про количество битов в числе?
Кроме того, вы писали, что тема была про логические операции. Вероятно, препод полагал, что студенты должны в решении использовать логические операции, а не вызовы библиотечных функций.

Цитата:
не понятен смысл: зачем побитово умножать число и число-1
Если посмотреть на двоичное представление любого числа, являющегося степенью двойки, то видно, что старший разряд этого числа равен единице, а остальные разряды - нули. Если из этого числа вычесть единицу, то бывший старший разряд станет равным нулю, а остальные разряды - единицы. Очевидно, что побитовое умножение этих чисел всегда будет равно нулю.
Если число не является степенью двойки, то кроме единицы в старшем разряде, будет присутствовать ещё по крайней мере одна единица в младших разрядах. Вычитание из такого числа единицы, поменяет биты только в разрядах от самой младшей единицы и ниже. Старшая единица не будет затронута. Побитовое перемножение таких чисел, не изменит, по крайней мере, старшую единицу. И результатом умножения будет число, не равное нулю.
Это наиболее короткое решение вашей задачи, если использовать логические операции.
 

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 13:05 04-03-2017 | Исправлено: Dronton2, 13:08 04-03-2017
alex5161



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Может кто-нибудь об'яснить смысл 'Annotations', типа '@MyAntn' или '@AntnWthParam(vars="some")', особенно!?
 Добраться до переменной из аннотации - очень неудобно, только через 'reflection' (насколько я понял из примеров) - громоздко и бессмысленно!
 Куда проще использовать константы или констракторы с параметром!
 
 Я не вижу применимости 'аннотаций' кроме как комментариев к коду или редких 'указаний' (типа 'pragma' в Си) как '@Overload' или '@NoWarning' (или как там точнее)
 
 Как-то из прочитанных об'яснений и примеров я не могу никак понять что же они полезного привносят.  
 Все встреченные об'яснения сосредоточены на теме 'как'; всегда однобоко, на какой-либо (99% неуместной) конкретной задаче, создавая кучу малозначимых (по применимости к задаче, но, требуемых по синтаксису) классов и массу всякой неразумной шушеры;....
 ... но, никто (на прочитанных) не преподносить элементарного: ЗАЧЕМ! Что в принципе с их помощью можно достигнуть чего не сделать без них!
 
 Зачем они вообще и особенно с параметрами и как эффективно они могут применяться?
 
(Я не новичок в программировании (С,С++,Perl,...), но с Java практически не работал...)

Всего записей: 1446 | Зарегистр. 26-03-2002 | Отправлено: 16:41 19-02-2020 | Исправлено: alex5161, 18:11 24-02-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex5161

Цитата:
Что в принципе с их помощью можно достигнуть чего не сделать без них!


Цитата:
типа 'pragma' в Си

https://ru.wikipedia.org/wiki/Аннотация_(Java)
 

Цитата:
Зачем они вообще и особенно с параметрами и как эффективно они могут применяться?

для среды разработки, к примеру.
 
у аннотаций гораздо больше возможностей в различных фреймворках (и других языках). к примеру у php фреймворка Symfony.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 00:36 25-02-2020
mila22

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени.  
имею вопрос по groovy,  так как темы нет, то пишу сюда. Прошу сильно не пинать, языки схожи.
Пробую из груви выполнить sql запрос,  вернее сохраненную процедуру.  
процедура должна отдать два  значения, но мне отдает только ошибку.  Подскажите если есть знатоки по груви.
вот дока  
http://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html#call(java.lang.String,java.util.List,groovy.lang.Closure)
 
вот код

Код:
 
def value = DatabaseUtil.withSql('KFSS Test') {
    it.callWithAllRows '{call KSAS_EXP.PR\$GET_LOT_BY_UTCODE(?,?,?)}', ["00165606", Sql.VARCHAR, Sql.VARCHAR], { out -> }
}
 

 
в итоге получаю ошибку

Код:
 
No signature of method: Script1590$_run_closure1$_closure2.doCall() is applicable for argument types: (java.lang.String, java.lang.String) values: [[001-779-308], Серьги «Нежное цветение» (001779308)] Possible solutions: doCall(java.lang.Object), findAll(), findAll()
 


Всего записей: 487 | Зарегистр. 28-12-2006 | Отправлено: 11:56 04-03-2020
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не секрет, что в виндах ниже 7-ки отсутствуют функции inet_ntop() / inet_pton(). Об этом много и давно написано, но что-то я не нахожу ничего относительно Java. Актуален ли этот вопрос, в частности для JDK 1.8.141,  и если да, то существует ли готовое решение проблемы? Спасибо за внимание.

Всего записей: 1377 | Зарегистр. 07-02-2004 | Отправлено: 18:33 07-03-2020
niko7

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, что делает строчка scanner.nextLine();?

Всего записей: 2414 | Зарегистр. 23-09-2004 | Отправлено: 23:09 26-04-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niko7

Цитата:
Подскажите, что делает строчка scanner.nextLine();

https://javarush.ru/groups/posts/klass-scanner
https://qna.habr.com/q/269359
http://espressocode.top/scanner-nextline-method-in-java-with-examples/
если и так непонятно, то просто берет все вводные данные от нынешней позиции до ввода новой строки (то есть остаток строки).

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:15 26-04-2020 | Исправлено: Mavrikii, 23:17 26-04-2020
niko7

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Большое спасибо за ссылки.
int numberOfCards = scanner.nextInt();
scanner.nextLine();
Кусок из рабочего примера. Не понимаю для чего здесь такая вторая строчка?

Всего записей: 2414 | Зарегистр. 23-09-2004 | Отправлено: 23:28 26-04-2020 | Исправлено: niko7, 23:29 26-04-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niko7

Цитата:
Не понимаю для чего здесь такая вторая строчка?

пропустить строку до конца ("перемотать" на перенос строки в конце), она возвращается, но ничему не присваивается.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:32 26-04-2020 | Исправлено: Mavrikii, 23:33 26-04-2020
Vlimiik



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет.
В следующем коде в качестве примера демонстрации эффекта "перегрузки", т.е. использования для Инициализации одинаковых имен и разных аргументов, присутствуют два конструктора и два метода. Второй конструктор содержит определение переменной initialHeight, которая, на мой взгляд, как-то странно фигурирует в коде. Существует ли правило, по которому вводится эта переменная? Может быть такой прием программирования как-то называется, но меня это немного смущает. Кажется, что введение переменной имеет "формальный" статус, как будто бы связано с несовершенством языка или мышления программиста. Какие мнения? Сам я имею слабый опыт в программировании вообще, поэтому, если мнение это очевидно некомпетентное, прошу объяснить почему.
 

Код:
 
Class Tree {
    int height;
    Tree( ) {
            print("Сажаем росток")
            height = 0;
        }
        Tree(int initialHeight) {
            height = initialHeight;
            print(“Создание нового дерева высотой ” + height + “ м. ”);
        }
        void info( ) {
            print(“Дерево высотой ” + height + “ м. ”);
        }
        void info(String s) {
            print(s + “: Дерево высотой ” + height + “ м. ”);
        }
}
public class Overloading {
    public static void main(String[ ] args) {
            for(int i = 0; i < 5; i++) {
                Tree t = new Tree(i);
                t.info( );
                t.info(“Перегруженный метод”);
        }
        new Tree( );
    }
} /* Output:
Создание нового дерева высотой 0 м.
Дерево высотой 0 м.
Перегруженный метод: Дерево высотой 0 м.
Создание нового дерева высотой 1 м.
Дерево высотой 1 м.
Перегруженный метод: Дерево высотой 1 м.
Создание нового дерева высотой 2 м.
Дерево высотой 2 м.
Перегруженный метод: Дерево высотой 2 м.
Создание нового дерева высотой 3 м.
Дерево высотой 3 м.
Перегруженный метод: Дерево высотой 3 м.
Создание нового дерева высотой 4 м.
Дерево высотой 4 м.
Перегруженный метод: Дерево высотой 4 м.
Сажаем росток
*///:~
 

Всего записей: 497 | Зарегистр. 11-08-2007 | Отправлено: 20:24 28-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vlimiik

Цитата:
на мой взгляд, как-то странно фигурирует в коде.  

в чем странность то?
это конструктор с аргументом типа int

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 20:39 28-09-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Need Java-help или первые шаги в Java-программировании.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru