JavaRush /Java блогу /Random-KY /Суроо-жооп: Java'да Stringти intке кантип туура айландыру...

Суроо-жооп: Java'да Stringти intке кантип туура айландыруу керек?

Группада жарыяланган
Талап кылынган бorмдердин болжолдуу деңгээли: Java синтаксисинин тапшырмасы жана бир аз Java Core.
Суроо-жооп: Java'да Stringти intке кантип туура айландыруу керек?  - 1
Биринчи JavaRush квестинин аягында биз типти конversionлоо жөнүндө билебиз. 10-деңгээлдеги лекцияларда сиз түргө өтүү абдан жөнөкөй экенин intжана жалпысынан дээрлик бардык примитивдүү түргө көйгөйсүз Stringөтсө болот .String
int x = 5;
String text = "X=" + x;
Ошондой эле, Java синтаксисинин 10-деңгээлин аяктагандар санга шилтемени сапка шилтеме жасоо мүмкүн эмес экенин бorшет. Ошентип, сапты примитивдүү бүтүн санга айландыруунун эң жакшы жолу кайсы? parseIntМуну класстык ыкма менен жасаган жакшы Integer. Метод түргө parseIntайландырышы керек жана сапты type түрүнө айландыруу мүмкүн болбосо, өзгөчө учурду жаратат . StringintNumberFormatExceptionint

Мисал

Сапты бүтүн санга айландыруучу негизги сап:
int i = Integer.parseInt (myString);
Эгерде өзгөрмө менен белгиленген сап myString"1", "200" сыяктуу жарактуу бүтүн сан болсо, Java аны акырындык менен примитивдүү маалымат түрүнө которот int. Эгер кандайдыр бир себептерден улам бул ишке ашпай калса, мындай аракет өзгөчө кырдаалды жаратышы мүмкүн NumberFormatException, андыктан программа кандайдыр бир сапта туура иштеши үчүн бизге бир аз көбүрөөк code керек. Мумкун болгондорду көзөмөлдөө, Java Stringөзгөртүү ыкмасын көрсөткөн программа : intNumberFormatException
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      System.out.println("int i = " + i);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }

Талкуу

Жогорудагы мисалды изилдегениңизде, бул ыкма сапты бүтүн санга Integer.parseInt (s.trim ())айландыруу үчүн колдонулганын көрөсүз жана бул codeдун төмөнкү сабында болот: si
int i = Integer.parseInt (s.trim ())
Бирок кээде сапты санга айландыруу жөн эле иштебей калат. Биздин мисалда, мындай сап фред аты болуп саналат. Компьютерде тамгалар жазылган codeдор жөнүндө айтсак болот, бирок, формалдуу айтканда, fred сан эмес, аны сап катары калтырган жакшы. Биздин программабыз "фредди" санга айландырууга аракет кылсаңыз, процесс сиз блокто иштөөгө тийиш болгон Integer parseIntөзгөчөлүктү ыргытышы үчүн иштелип чыккан . Бул учурда класс ыкмасын колдонуунун кереги жок , бирок реалдуу программалоодо сиз аны колдонушуңуз керек. Ошентип, биз сизге көрсөттүк. Бул тема келип чыккандыктан, бул жерде класстардын темасы боюнча кээ бир "кеңештер" жана : NumberFormatExceptiontry / catchtrim ()StringStringInteger
  • Integer.toString (int i)intJava саптарына айландыруу үчүн колдонулат .
  • StringЭгер сиз an objectти an objectке айландыргыңыз келсе Integer(примитивдүү класстын ордуна ), класстын ордуна класстагы методду intколдонуңуз .valueOf ()IntegerparseInt ()
  • Эгерде сизге саптарды кошумча примитивдүү Java талааларына айландыруу керек болсо, ушул сыяктуу ыкмаларды колдонуңуз Long.parseLong ().
Жооп берген: Элис Уотсон
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION