Сатҳи тахминии донишҳои зарурӣ: ҷустуҷӯи Java Syntax ва каме Java Core.
Дар охири ҷустуҷӯи аввалин JavaRush мо дар бораи табдor намуд маълумот мегирем. Дар лексияҳои сатҳи 10 шумо мебинед, ки табдил додан int
ба String
хеле содда аст ва дар маҷмӯъ, қариб ҳама намуди ибтидоиро String
бе мушкилот табдил додан мумкин аст.
int x = 5;
String text = "X=" + x;
Инчунин, онҳое, ки аллакай дараҷаи 10-и ҷустуҷӯи Java Syntax-ро анҷом додаанд, медонанд, ки табдил додани истинод ба рақам ба истинод ба сатр ғайриимкон аст. Пас, роҳи беҳтарини табдил додани сатр ба адади ибтидоӣ кадом аст? Беҳтар аст, ки ин корро бо усули parseInt
синф анҷом диҳед Integer
. Агар сатр ба type табдил дода нашавад, усул parseInt
бояд String
ба int
истисно табдил дода шавад ва истисноро барорад . NumberFormatException
int
Мисол
Хати асосӣ, ки сатрро ба адади бутун табдил медиҳад:
int i = Integer.parseInt (myString);
Агар сатри бо тағирёбанда нишондодашуда myString
адади дуруст бошад, ба мисли "1", "200", Java оромона онро ба навъи маълумоти ибтидоӣ табдил медиҳад int
. Агар бо ягон сабаб ин ноком шавад, чунин амал метавонад истисноро ба вуҷуд орад NumberFormatException
, бинобар ин, барои дуруст кор кардани барнома барои ҳама сатр, ба мо рамзи каме бештар лозим аст. Барномае, ки усули табдил додани Java String
, int
назорати имконпазирро нишон медиҳад NumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
Муҳокима
Вақте ки шумо мисоли дар боло зикршударо меомӯзед, хоҳед дид, ки ин усул Integer.parseInt (s.trim ())
барои табдил додани сатр s
ба адади бутун истифода мешавад i
ва ин дар сатри зерини code рӯй медиҳад:
int i = Integer.parseInt (s.trim ())
Аммо баъзан табдил додани сатр ба рақам кор намекунад. Дар мисоли мо чунин сатр номи фред аст. Мо метавонем дар бораи рамзҳое сӯҳбат кунем, ки дар онҳо ҳарфҳо дар компютер навишта мешаванд, аммо, ба таври расмӣ, фред рақам нест ва беҳтар аст, ки онро ҳамчун сатр тарк кунед. Барномаи мо тавре тарҳрезӣ шудааст, ки агар шумо кӯшиш кунед, ки "fred" -ро ба рақам табдил диҳед, раванд Integer parseInt
истисноеро ба вуҷуд меорад NumberFormatException
, ки шумо бояд онро дар блок идора кунед try / catch
. Дар ин ҳолат шумо набояд усули trim ()
синфро истифода баред String
, аммо дар барномасозии воқеӣ шумо бояд онро истифода баред. Пас, мо онро ба шумо нишон додем. Азбаски ин мавзӯъ ба миён омадааст, дар ин ҷо баъзе "маслиҳатҳо" дар мавзӯи дарсҳо String
ва Integer
:
Integer.toString (int i)
барои табдил додани int
сатрҳои Java истифода мешавад.
- Агар шумо хоҳед, ки an objectро
String
ба an object табдил диҳед Integer
(ба ҷои синфи ибтидоӣ ) int
, ба ҷои .valueOf ()
Integer
parseInt ()
- Агар ба шумо лозим ояд, ки сатрҳоро ба майдонҳои иловагии ибтидоии Java табдил диҳед, усулҳои монанди инро истифода баред
Long.parseLong ()
.
Ҷавоб дод: Алис Уотсон
GO TO FULL VERSION