CodeGym /Blog Jawa /Acak /Ngonversi Aksara Jawa menyang Int Kanthi Tuladha
John Squirrels
tingkat
San Francisco

Ngonversi Aksara Jawa menyang Int Kanthi Tuladha

Diterbitake ing grup
Informasi simbolis sing kerep dilebokake pangguna saka keyboard kudu diowahi dadi angka utawa programmer kudu entuk nomer kasebut. Ana sawetara cara ing Jawa kanggo nindakake. Ing artikel iki, kita bakal nemtokake cara kanggo mbantu ngowahi char dadi nilai int.

Jinis implisit сasting

Casting jinis yaiku proses ngowahi nilai siji jinis data dadi nilai jinis data liyane. Casting jinis bisa manual utawa otomatis gumantung saka jinis. Jinis kudu kompatibel. Ing Jawa ana rong jinis jinis, yaiku eksplisit lan implisit. Implisit mung bisa ditindakake yen kita ngowahi variabel saka jinis "luwih gedhe" dadi "cilik" (umpamane, saka int dadi dawa .). Yen kita pengin ngowahi variabel jinis char menyang tipe data int, paling asring kita kudu entuk nilai sing padha saka tabel ASCII. Saben alfabet utawa simbol sing bisa dilebokake kanthi digital nduweni nomer integer unik sing cocog. Contone, alfabet 'A' duwe kode ASCII 65. Miturut jinis casting, kita meksa ngowahi nilai karakter menyang kode integer ASCII sing padha. Iki minangka conto Java char kanggo int nggunakake jinis casting.

Java char kanggo conto int (nggunakake typeCasting)


package charToInt;

public class Implicit {

       public static void main(String[] args) {
           char char1 = 'A';
           char char2 = 'a';
           int x = char1;
           int y = char2;

           System.out.println("ASCII value of '" + char1 + "' is " + x);
           System.out.println("ASCII value of '" + char2 + "' is " + y);
       }
   }
Outpute yaiku:
Nilai ASCII saka 'A' yaiku 65 Nilai ASCII saka 'a' yaiku 97

Casting jinis eksplisit

Kaya sing wis dingerteni ing ndhuwur, ing kasus konversi char menyang int, ora perlu nindakake iki kanthi jelas, amarga 2 bait digunakake kanggo nyimpen char, lan 4 bait digunakake kanggo nyimpen int. Sing, jinis int "luwih gedhe". Nanging, minangka latihan, kita bisa kanthi jelas ngirim variabel char menyang integer. Kanggo operasi iki, kita sebutno (int) ing kurung.

package charToInt;

public class Explicit {

       public static void main(String[] args) {
           char char1 = 'A';
           System.out.println("ASCII value of '" + char1 + "' is " + (int)char1);
       }
   }
Outpute yaiku:
Nilai ASCII saka 'A' yaiku 65

Nggunakake getNumericValue()

getNumericValue () dianggo padha kanggo ngetik casting, nanging ora tindakake tabel ASCII, nderek standar enkoding Unicode. ASCII mung bisa makili pesawat tartamtu saka simbol lan karakter kayata aksara latin (plus sawetara simbol alfabet nasional), nomer, wacan lan kontrol karakter. Unicode ngemot luwih saka yuta nilai sing ngemot huruf lan simbol kanggo saben basa ing donya. Contone, nilai A ing Unicode yaiku \u0041 sing padha karo nilai numerik 10. Yen karakter ora duwe angka numerik, metode kasebut ngasilake -1. Nggunakake metode iki bisa uga trep kanggo ngasilake integer non-negatif.

package charToInt;

public class UsingGetNumericValue {

       public static void main(String[] args) {
           char char1 = '7';
           char char2 = 'A';
           char char3 = '*';

           int x = Character.getNumericValue(char1);
           int y = Character.getNumericValue(char2);
           int z = Character.getNumericValue(char3);

           System.out.println("The Unicode value of '" + char1 + "' is " + x);
           System.out.println("The Unicode value of '" + char2 + "' is " + y);
           System.out.println("The Unicode value of '" + char3 + "' is " + z);

       }
   }
Outpute yaiku:
Nilai Unicode '7' yaiku 7 Nilai Unicode 'A' yaiku 10 Nilai Unicode '*' yaiku -1

Nggunakake ParseInt()

ParseInt () minangka cara liya kanggo ngowahi char menyang int. Iki uga akeh digunakake kanggo ngowahi konversi antarane jinis data numerik liyane kayata float, dobel, lan dawa. ParseInt () mbutuhake paling sethithik siji argumen lan paling akeh rong argumen. Argumentasi pisanan yaiku jeneng variabel saka nilai sing dikonversi. Argumentasi kapindho yaiku radix sing nuduhake nilai dhasar desimal, oktal, heksadesimal, lan liya-liyane. Amarga kemampuan ParseInt () kanggo ngowahi jinis data kanthi sistem nomer ing pikirane uga, iku pilihan sing paling optimal kanggo ngowahi "numerik". ” char kanggo int ing basa Jawa. Ana rong poin penting sing kudu dielingake yen sampeyan pengin nggunakake metode iki. parseInt()metode mung nampa argumen String, mula sampeyan kudu ngowahi char dadi String (nggunakake String.valueOf ). Sampeyan ora bisa nggunakake parseInt () Ngonversi aksara utawa simbol liyane kajaba angka numerik disimpen ing jinis data char. Yen sampeyan ngetik angka non-numerik, sampeyan bakal entuk kesalahan. Ing ngisor iki tuladha Jawa:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = '7';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
Outpute yaiku:
7
Coba gunakake nilai non-numerik parseInt ton:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = 'q';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
Outpute yaiku:
Pangecualian ing thread "utama" java.lang.NumberFormatException: Kanggo input string: "q" ing java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68) ing java.base/java.lang.Integer.parseInt (Integer.java:652) ing java.base/java.lang.Integer.parseInt(Integer.java:770) ing charToInt.ValueOf.main(ValueOf.java:6)

Ngurangi '0'

Ana cara sing gampang banget kanggo ngowahi karakter dadi integer. Kanggo nindakake iki, mung nyuda nilai ASCII saka karakter "0" saka karakter kasebut. Contone, kanggo njaluk int 7 saka karakter "7":

int intValue = '7'-' 0 ';
Elinga, iki bisa digunakake kanggo entuk nilai int khusus kanggo karakter integer! Yen nyuda '0' saka, ngomong, 'A', cara mung bakal bali prabédan antarane kode ASCII saka nul lan huruf A. Punika conto.

package charToInt;

public class SubtractingZero {

   public static void main(String[] args) {
       char char1 = '7';
       char char2 = 'A';
       char char3 = '*';

       System.out.println(char1);
       System.out.println(char1 - '0');

       System.out.println(char2);
       System.out.println(char2 - '0');

       System.out.println(char3);
       System.out.println(char3 - '0');
      
   }

}
Outpute yaiku:
7 7 A 17 * -6

Kesimpulan

Yen sampeyan kudu ngowahi char menyang int ing Jawa, gunakake salah sawijining cara:
  • Casting jinis implisit // entuk nilai ASCII
  • Character.getNumericValue()
  • Integer.parseInt() //ing pasangan karo String.valueOf())
  • Ngurangi '0' // mung dianggo kanggo angka integer
Sampeyan uga bisa nindakake casting jinis eksplisit. Nanging, iki operasi keluwih: ora perlu, nanging mung dianggo ing Jawa.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION