public class Person {
public String name;
int age;
char sex;
public void setName(String name){
this.name = name;
}//напишите тут ваш код
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setSex(char sex){
this.sex = sex;
}
public int getSex() {
return sex;
}
public static void main(String[] args) {
Person person = new Person();
person.setSex('A');
System.out.println(person.getSex());
}
}Goodmitry
10 уровень
Почему на экран выходит 65? А не 'A'?
Обсуждается
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sma1l
9 декабря 2022, 10:14
Если я правильно помню , то к этим строчкам должен быть предписан private или изменено с public на private + у тебя ошибка в геттерах (всех) , возможно как ошибка она и притянута за уши , но на всякий случай лучше приписывать им значения
то беж
Во-вторых
У тебя не правильно проиницированн getSex
А должно быть
И из-за того что у тебя в геттере написан int , a не char , он тебе и возвращает число
Иначе говоря вот твой итоговый код
+2
Lexman (Алексей)Full Stack Developer в TrendSoft
7 декабря 2022, 20:25
Потому что этот метод ↓
возвращает значение Int
+2
Goodmitry
7 декабря 2022, 20:27
А откуда вообще число 65
0
Lexman (Алексей)Full Stack Developer в TrendSoft
8 декабря 2022, 07:51
Почитайте про тип данных char, там найдете ответ на свой вопрос
0
NAUM
8 декабря 2022, 07:54
В таблице ASCII у символа 'A' код 65
0
Goodmitry
7 декабря 2022, 20:23
Если написать
То выводит 'A'
-2
Sma1l
9 декабря 2022, 10:17
зачем тебе нужна первая строчка ?
я выше написал где у тебя ошибка
0
Sma1l
9 декабря 2022, 18:20
твоя задача была написать геттер и сеттер , то что написал ты и говоришь что это заработало , как итоговым результатом не является
вот эти строчки
работает так же как если бы ты написал ее без геттера и сеттера , то беж
и это один и тот же код , только мой ещё и работает быстрее и в меньше кол-во строк , а если быть точнее , то на 11 строчек кода короче
0