Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199

Как вывести в консоль 'age' ?

28.04.2018, 13:17. Показов 1443. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Main{
 public static void main(String[] args){
  Cat cat = new Cat("Рич", 13);
  System.out.println(cat.getName());
  System.out.print(cat.getAge());
}
}
class Cat{
 private String name;
 private int age;
 <S, I>Cat(S name, I age){
  this.name = name.toString();
  this.age = age.valueOf();
}
 public String getName(){ 
  return name; 
}
 public int getAge(){ 
  return age; 
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2018, 13:17
Ответы с готовыми решениями:

Как заполнить табличку и вывести на консоль?
Есть данные, день покупки( число от 1 до 31), наименование продукта, цена, и количество. Я образовала 2 класса class Order { Product...

Не компилируется код. Как правильно вывести супер в консоль?
class Pet{ Pet(String name){ } } class Cat extends Pet{ int age = 13; Cat(){ super(&quot;Рич&quot;); } public int...

Как ввести аргументы в командную строку и вывести в консоль
Здравствуйте! Подскажите пожалуйста как правильно ввести аргументы в командную строку, чтобы потом можно было их вывести на консоль так: ...

18
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.04.2018, 13:23
Цитата Сообщение от Valua Посмотреть сообщение
<S, I>Cat(S name, I age){
это чего такое?
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
28.04.2018, 13:26  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
это чего такое?
Обобщение. Что смущает ?
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
28.04.2018, 15:46  [ТС]
А по теме есть что сказать? Да, я утрирую для конспекта, т.к., только учусь. Лучше б и не отвечали.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
28.04.2018, 16:07
Цитата Сообщение от Valua Посмотреть сообщение
я утрирую
Это больше похоже на невнятную попытку воткнуть джененрик в мегаэлементарный пример. Зачем? Тем более, если в этом еще ничего не понимаешь. Убери эти "обобщения" и все будет работать.
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
29.04.2018, 05:43  [ТС]
Разговор слепого с глухим. Ок. Заменили S на T и I на S. Теперь концепция соблюдена. КАК МНЕ INT В КОНСОЛЬ ВЫВЕСТИ ? valueOf() не работает. Вот это был вопрос !!! И да, мегаэлементарный пример для конспекта. Вы учились на мегасложных ? И с чего вы взяли, что я НИЧЕГО не понимаю в обобщениях ? Не все - да. Ничего - нет.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.04.2018, 07:59
valueOf не работает... А какие типы ты собираешься посылать в конструктор??
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
29.04.2018, 08:14
Valua,

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
class Main {
    public static void main(String[] args) {
        Cat cat = new Cat("Рич", 13);
        System.out.println(cat.getName());
        System.out.print(cat.getAge());
    }
}
 
class Cat<S, I> {
    private S name;
    private I age;
 
    Cat(S name, I age) {
        this.name = name;
        this.age = age;
    }
 
    public S getName() {
        return name;
    }
 
    public I getAge() {
        return age;
    }
}

Не по теме:

iSmokeJC Может нужно перенести тему из некрополиса под названием ME?

1
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
29.04.2018, 09:21  [ТС]
Так не скомпилируется. Надо так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Dcoder{
 public static void main(String[] args){
  Cat<String,Integer>cat = new Cat<>("Рич", 13);
  String catname = cat.getName();
  Integer catage = cat.getAge();
  System.out.println(catname+"-"+catage);
}
}
class Cat<T, S>{
 private T name;
 private S age;
 Cat(T name, S age){
  this.name = name;
  this.age = age;
}
 public T getName(){ 
  return name; 
}
 public S getAge(){ 
  return age; 
}
}
Но, это уже универсальная параметризация класса. А интересовал именно конструктор.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
29.04.2018, 09:25
Цитата Сообщение от Valua Посмотреть сообщение
Так не скомпилируется.
Действительно...
1
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
29.04.2018, 09:33  [ТС]
Не успел исправить на:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Dcoder{
 public static void main(String[] args){
  Cat<String,Integer>cat = new Cat<>("Рич", 13);
  System.out.println(cat.getName());
  System.out.println(cat.getAge());
}
}
class Cat<T, S>{
 private T name;
 private S age;
 Cat(T name, S age){
  this.name = name;
  this.age = age;
}
 public T getName(){ 
  return name; 
}
 public S getAge(){ 
  return age; 
}
}
Но, в любом случае это не тот пример который я подразумевал.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
29.04.2018, 09:47
Цитата Сообщение от Valua Посмотреть сообщение
Но, в любом случае это не тот пример который я подразумевал
В вашем примере нужно перед тем как задать вопрос "Как?" нужно ответить на вопрос "Зачем?"
У вас есть класс в котором есть поля определенного типа, и вы пытаетесь задавать их значения через генерики. Зачем? Бессмысленно? Может по этому и не получается?
Единственное что приходит в голову более менее осмысленное решение

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
class Main {
    public static void main(String[] args) {
        Cat cat = new Cat("Рич", 13);
        System.out.println(cat.getName());
        System.out.print(cat.getAge());
    }
}
 
class Cat {
    private String name;
    private int age;
 
    <S extends String, I extends Number> Cat(S name, I age) {
        this.name = name;
        this.age = (int) age;
    }
 
    public String getName() {
        return name;
    }
 
    public Integer getAge() {
        return age;
    }
}
Добавлено через 3 минуты
или так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Cat {
    private String name;
    private Integer age;
 
    <S extends CharSequence , I extends Number> Cat(S name, I age) {
        this.name = name.toString();
        this.age = age.intValue();
    }
 
    public String getName() {
        return name;
    }
 
    public Integer getAge() {
        return age;
    }
}
1
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
29.04.2018, 10:34  [ТС]
Зачем - изначально был дан пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Dcoder{
 public static void main(String[] args){
  Cat cat = new Cat("Рич", 13);
  System.out.println(cat.getName());
  System.out.print(cat.getAge());
}
}
class Cat{
 private String name;
 private int age;
 <T>Cat(T name, int age){
  this.name = name.toString();
  this.age = age;
}
 public String getName(){ 
  return name; 
}
 public int getAge(){
  return age;
}
}
Т.е., лишь часть типов неизвестна. Стало интересно, что если и вторая часть будет неизвестна, как в этом случае вывести int.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
29.04.2018, 14:01
Цитата Сообщение от Valua Посмотреть сообщение
Зачем - изначально был дан пример:
Ваш изначальный пример изначально кривоват... Если вы передадите вместо имени не строку, а что то другое (что не запрещает делать женерик, то результат вашей программы будет не предсказуем...
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Это больше похоже на невнятную попытку воткнуть джененрик в мегаэлементарный пример. Зачем?
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
class Dcoder{
    public static void main(String[] args){
        Object simpleObject = new Object();
        Cat cat = new Cat(simpleObject, 13);
        System.out.println(cat.getName());
        System.out.print(cat.getAge());
    }
}
 
 
class Cat{
    private String name;
    private int age;
    <T>Cat(T name, int age){
        this.name = name.toString();
        this.age = age;
    }
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
}
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
29.04.2018, 15:56  [ТС]
Мы на каких то разных языках с вами говорим.. Пример кривой - не спорю. Я интересовался по поводу вывода int а не строки. Вы во-второй раз переписали код. Зачем ?
Нельзя в данном коде вывести int. Ок. Я понял. Либо, вы не знаете как. Но, интересовало именно это. А код переписывать незачем, теряется смысл.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.04.2018, 16:22
Цитата Сообщение от Valua Посмотреть сообщение
теряется смысл.
очевидно, не может потеряться то, чего и так нет.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
29.04.2018, 16:44
Цитата Сообщение от Valua Посмотреть сообщение
Мы на каких то разных языках с вами говорим
Ок, попробую перевести =)
Ваш вопрос выглядит примерно так:
Исходные данные: У меня есть автомобиль, но когда я заезжаю на нем в озеро, он почему то тонет.
Как вывести в консоль 'age' ? Как сделать что бы он не тонул?
это чего такое? зачем ты в озеро то на нем полез
Убери эти "обобщения" и все будет работать. Не езди на нем в озеро

По вашему вопросу можно придумать какие то костыльные решения что бы вывести в консоль значение age, но советовать и озвучивать их так себе себе идея. У женериков определенно есть свое место применения, но в данном примере им не место, и именно по этому вам до сих пор не дали решение.

Не по теме:

Цитата Сообщение от Valua Посмотреть сообщение
И с чего вы взяли, что я НИЧЕГО не понимаю в автомобилях? Не все - да. Ничего - нет.
:p

1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
29.04.2018, 21:27
Цитата Сообщение от Valua Посмотреть сообщение
Обобщение.
Обобщение чего?

Цитата Сообщение от Valua Посмотреть сообщение
Как вывести в консоль 'age' ?
Цитата Сообщение от Valua Посмотреть сообщение
System.out.print(cat.getAge());
Очевидно, именно это здесь и происходит...
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,879
01.05.2018, 16:37
Цитата Сообщение от Valua Посмотреть сообщение
Я интересовался по поводу вывода int а не строки.
В общем случае тип нельзя преобразовать в int (не любой тип можно преобразовать в int). Поэтому ответ "никак".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2018, 16:37
Помогаю со студенческими работами здесь

Как в Java вывести в консоль значения атрибутов из файла XML?
Подскажите как в Java вывести в консоль значения атрибутов из файла XML? Чтобы получались такие строки вывода: Ivanov 12 A red Petrov...

Вывести в консоль слова решетками (#)
Помогите, пожалуйста, написать программу в java, которая идентична Unix программе &quot;banner&quot;, т.е. буквы и цифры должны...

Вывести на консоль числа из файла
Здравствуйте, форумчане. Изучаю Java, дается мне сложновато, но на примерах понимаю. Не могли бы вы написать простую программку: Есть...

Вывести на консоль фигуру из звездочек
Суть задачи заключается в том, что необходимо написать программу которая будет выводить на консоль *** * * *** не знаю как...

Задача на char. Вывести на экран сумму кодов слов age AGE
вывести на экран сумму кодов слов age AGE


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

Новые блоги и статьи
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 и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru