Привет, коллеги))
Задачу в общем то решил, но вот не понимаю один момент:
В написанном мной методе howManySigns
Я не понимаю как текстовая строка ("однозначное", "двузначное" или "трехзначное") попадает в переменную d, которую возвращает метод?
Почему метод chetNechet возвращает строку сразу из тела условного оператора, а в howManySigns так не работает, пришлось
прописать отдельную строку (№ 34), только тогда заработало.
Проясните, пожалуйста, кто разобрался, хочется понимать как это работает!
package com.javarush.task.task04.task0427;
/*
Описываем числа
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
//Ввод данных с клавиатуры
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(r.readLine());
String b = "";
b = (chetNechet(a) + " " + howManySigns(a) + " " + "число");
System.out.println(b);
}
public static String howManySigns(int a){ //Метод для определения количества знаков в числе
String d = Integer.toString(a); //Переводим число в строку
int c = (d.length()); //Определяем длину строки
if (c == 1)
return ("однозначное");
else if (c == 2)
return ("двузначное");
else if (c == 3)
return ("трехзначное");
// Я не понимаю как строка "однозначное"/"двузначное"/"трехзначное" попадает в переменную d ?
return d;
}
public static String chetNechet(int a){ //Метод для определия четное или нечетное число
if ((a % 2) == 0)
return ("четное");
else
return ("нечетное");
}
}