1. Приведення типів
2. Ієрархія наслідування та приведення типів
Приведення до типу
2. Ієрархія наслідування та приведення типів
Приведення до типу
Часто постає необхідність явного приведення типу String до інших типів і навпаки. Наприклад, ви вводите з клавіатури певне число, воно буде у вигляді рядка символів, а для проведення обчислень його потрібно привести або до типу int, якщо це цілочисельне число, або ж до float чи double, якщо дробове. Для таких випадків слугує ряд статичних методів valueOf(), які наявні в класі String, а також в класах, які реалізовують числові типи Float, Double та ін.
Наступна програма вимагає введення числа з клавіатури і виводить результат перемноження введеного числа та 36:
import java.util.Scanner;
public class TestValueOf {
public static void main ( String[] args ){
int intNumber=36;
System.out.print("Введіть число: ");
//зчитуємо число з клавіатури
Scanner in = new Scanner(System.in);
String doubleStr=in.next();
System.out.println("Ви ввели: "+doubleStr);
//Ціла і дробова частина повинна бути через крапку
//шукаємо чи не ввели через кому
int index=doubleStr.indexOf(",");
if (index>=0) {
System.out.println("Кома у позиції: "+index);
doubleStr=doubleStr.replace(',', '.'); //замінити кому на крапку
}
//Перетворюємо int число у рядок тексту
String strNumber=String.valueOf(intNumber);
//Приєднуємо число до рядка через метод concat (хоча можна і оператором "+")
String strOut="*".concat(strNumber)+"=";
//Перетворюємо введений рядок тексту у число
double number=Double.valueOf(doubleStr);
number =number*intNumber; //множимо введене число на 36
System.out.println(doubleStr+strOut+number);
}
}
Результат виконання:
Введіть число: 555,5 Ви ввели: 555,5 Кома у позиції: 3 555.5*36=19998.0
У наведеному прикладі для знаходження коми використано метод
int indexOf(String str)
, а для заміни коми на крапку метод String replace(char oldChar, char newChar)
. Якщо не зробити таку заміну, то при приведенні типу String до Double виникне помилка виконання і програма завершиться аварійно.
За бажаннями, Ви можете ускладнити програму додавши перевірку на наявність непотрібних символів у введеному рядку і відкидання їх. Для вирішення цієї задачі скористайтесь списком методів, що наведений нижче в пункті розділу під назвою "String API".