Java и switch
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Java и switch - 2007-11-23 13:01:59.626666
|
|
|
matrix_real
Сообщений: 19
Оценки: 0
Присоединился: 2005-05-26 17:16:24
|
Ситуация такая: необходимо английские символы в строке заменять русскими, хотел реализовать это дело ч/з switch. ... switch (str2.substring(str2symnum, str2symnum + 1))
{ case 'Y': str2.substring(str2symnum, str2symnum + 1) = 'У'; break; ... но при компиляции стало ясно, что в качестве 'case' можно использовать только целые числа. каким способом можно это реализовать, не используя 'if'? заранее спасибо.
|
|
|
RE: Java и switch - 2007-11-23 13:08:41.543333
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: matrix_real Ситуация такая: необходимо английские символы в строке заменять русскими, хотел реализовать это дело ч/з switch. ... switch (str2.substring(str2symnum, str2symnum + 1))
{ case 'Y': str2.substring(str2symnum, str2symnum + 1) = 'У'; break; ... но при компиляции стало ясно, что в качестве 'case' можно использовать только целые числа. каким способом можно это реализовать, не используя 'if'? заранее спасибо. Не знаю насчет чарактерных литералов в case (должно работать по уму, в С же работает), но str2.substring(str2symnum, str2symnum + 1) точно дает строчку длиной в 1 символ, а не чарактер. Должно быть что-то типа String.charAt(), не помню точно.
|
|
|
RE: Java и switch - 2007-11-23 13:21:31.703333
|
|
|
matrix_real
Сообщений: 19
Оценки: 0
Присоединился: 2005-05-26 17:16:24
|
В C можно использовать строчные символы, а в Java - нет (сижу читаю доки) :(
|
|
|
RE: Java и switch - 2007-11-23 13:22:26.893333
|
|
|
matrix_real
Сообщений: 19
Оценки: 0
Присоединился: 2005-05-26 17:16:24
|
str2.substring(str2symnum, str2symnum + 1) - данная конструкция возвращает подстроку длинной в 1 символ.
|
|
|
RE: Java и switch - 2007-11-23 14:09:50.136666
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: matrix_real str2.substring(str2symnum, str2symnum + 1) - данная конструкция возвращает подстроку длинной в 1 символ. подстрока - это тоже строка, то есть объект типа String. даже в if'ах ты не сможешь их толком сравнить через "=", потому что будут сравниваться адреса, а не значения строк. для сравнения используй метод equals(), это если решишь через if'ы делать. а лучше всё таки используй метод charAt() и сравнивай символы, должно работать. к слову, в Си тип char вообще числовой, его можно не только сравнивать, но и складывать, и умножать. отличие, например, от int'a только в том, что int нельзя инициализировать символьной константой.
|
|
|
RE: Java и switch - 2007-11-23 14:49:49.650000
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: matrix_real str2.substring(str2symnum, str2symnum + 1) - данная конструкция возвращает подстроку длинной в 1 символ. Даже в С литералы "A" и 'A' имеют совершенно разный тип. Перый - строчный литерал, второй - символьный.
|
|
|
RE: Java и switch - 2007-11-23 14:54:19.016666
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: Absurd quote:
ORIGINAL: matrix_real str2.substring(str2symnum, str2symnum + 1) - данная конструкция возвращает подстроку длинной в 1 символ. Даже в С литералы "A" и 'A' имеют совершенно разный тип. Перый - строчный литерал, второй - символьный. PS:
public class Main {
public static void main(String[] args) {
String a = "BoZo";
switch (a.charAt(0)) {
case 'B':
System.out.println("It's ok");
break;
default:
System.out.println("Fail");
}
}
}
Output: It's ok
|
|
|
RE: Java и switch - 2007-11-24 09:13:50
|
|
|
matrix_real
Сообщений: 19
Оценки: 0
Присоединился: 2005-05-26 17:16:24
|
Absurd: quote:
public class Main { public static void main(String[] args) { String a = "BoZo"; switch (a.charAt(0)) { case 'B': System.out.println("It's ok"); break; default: System.out.println("Fail"); } } } Помогло. Большое спасибо. :) Тема закрыта
|
|
|
RE: Java и switch - 2007-11-24 09:15:38.533333
|
|
|
matrix_real
Сообщений: 19
Оценки: 0
Присоединился: 2005-05-26 17:16:24
|
kreol, тоже спасибо :)
|
|
|
|
|