it-swarm-id.com

Bagaimana cara mengonversi/mem-parsing dari String ke char di java?

Bagaimana cara mengurai nilai String di Java ke jenis char

Saya tahu bagaimana melakukannya untuk int dan menggandakan (misalnya Integer.parseInt ("123")), Apakah ada kelas untuk Strings dan Chars?

177
Yokhen

Jika string Anda mengandung tepat satu karakter, cara paling sederhana untuk mengubahnya menjadi karakter adalah dengan memanggil metode charAt :

char c = s.charAt(0);
271
Mark Byers

Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String.

String g = "line";
char c = g.charAt(0);  // returns 'l'
char[] c_arr = g.toCharArray(); // returns a length 4 char array ['l','i','n','e']
64
Gaʀʀʏ

anda dapat menggunakan trik ini:

String s = "p";

char c = s.charAt(0);
48
Genjuro

Jika string memiliki 1 karakter, cukup ambil karakter itu . Jika string tidak sepanjang 1 karakter, itu tidak dapat diuraikan menjadi karakter.

8
Vlad
 String string = "This is Yasir Shabbir ";
 for(char ch : string.toCharArray()){

 }

atau Jika Anda ingin secara individual maka Anda dapat

char ch = string.charAt(1);

org.Apache.commons.lang.StringEscapeUtils . (un) Metode EscapeJava adalah probaby apa yang Anda inginkan

Jawaban dari brainzzy bukan milik saya:

https://stackoverflow.com/a/8736043/1130448

4
sinekonata

Cara paling sederhana untuk mengonversi String menjadi char menggunakan charAt():

String stringAns="hello";
char charAns=stringAns.charAt(0);//Gives You 'h'
char charAns=stringAns.charAt(1);//Gives You 'e'
char charAns=stringAns.charAt(2);//Gives You 'l'
char charAns=stringAns.charAt(3);//Gives You 'l'
char charAns=stringAns.charAt(4);//Gives You 'o'
char charAns=stringAns.charAt(5);//Gives You:: Exception in thread "main" Java.lang.StringIndexOutOfBoundsException: String index out of range: 5

Berikut ini skrip lengkapnya:

import Java.util.Scanner;

class demo {
    String accNo,name,fatherName,motherName;
    int age;
    static double rate=0.25;
    static double balance=1000;
    Scanner scanString=new Scanner(System.in);
    Scanner scanNum=new Scanner(System.in);

    void input()
    {
        System.out.print("Account Number:");
        accNo=scanString.nextLine();
        System.out.print("Name:");
        name=scanString.nextLine();
        System.out.print("Father's Name:");
        fatherName=scanString.nextLine();
        System.out.print("Mother's Name:");
        motherName=scanString.nextLine();
        System.out.print("Age:");
        age=scanNum.nextInt();
        System.out.println();
    }

    void withdraw() {
        System.out.print("How Much:");
        double withdraw=scanNum.nextDouble();
        balance=balance-withdraw;
        if(balance<1000)
        {
            System.out.println("Invalid Data Entry\n Balance below Rs 1000 not allowed");
            System.exit(0);
        }       
    }

    void deposit() {
        System.out.print("How Much:");
        double deposit=scanNum.nextDouble();
        balance=balance+deposit;
    }

    void display() {
        System.out.println("Your  Balnce:Rs "+balance);
    }

    void oneYear() {
        System.out.println("After one year:");
        balance+=balance*rate*0.01;
    }

    public static void main(String args[]) {
        demo d1=new demo();
        d1.input();
        d1.display();
        while(true) {//Withdraw/Deposit
            System.out.println("Withdraw/Deposit Press W/D:");
            String reply1= ((d1.scanString.nextLine()).toLowerCase()).trim();
            char reply=reply1.charAt(0);
            if(reply=='w') {
                d1.withdraw();
            }
            else if(reply=='d') {
                d1.deposit();
            }
            else {
                System.out.println("Invalid Entry");
            }
            //More Manipulation 
            System.out.println("Want More Manipulations: Y/N:");
            String manipulation1= ((d1.scanString.nextLine()).toLowerCase()).trim();

            char manipulation=manipulation1.charAt(0);
            System.out.println(manipulation);

            if(manipulation=='y') { }
            else if(manipulation=='n') {
                break;
            }
            else {
                System.out.println("Invalid Entry");
                break;
            }
        }   

        d1.oneYear();
        d1.display();   
    }
}
3

Jika Anda ingin menguraikan String ke char, sedangkan objek String mewakili lebih dari satu karakter, Anda cukup menggunakan ekspresi berikut: char c = (char) Integer.parseInt (s) . Di mana s sama dengan String yang ingin Anda parsing. Kebanyakan orang lupa bahwa char mewakili angka 16-bit, dan karenanya dapat menjadi bagian dari sembarang ekspresi numerik :)

3
Adam Martinu
import Java.io.*;
class ss1 
{
    public static void main(String args[]) 
    {
        String a = new String("sample");
        System.out.println("Result: ");
        for(int i=0;i<a.length();i++)
        {
            System.out.println(a.charAt(i));
        }
    }
}
2
user6307216

Anda cukup menggunakan toCharArray() untuk mengonversi string menjadi array char:

    Scanner s=new Scanner(System.in);
    System.out.print("Enter some String:");
    String str=s.nextLine();
    char a[]=str.toCharArray();

Anda dapat melakukan hal berikut:

String str = "abcd";
char arr[] = new char[len]; // len is the length of the array
arr = str.toCharArray();
1
Santosh Kulkarni

Saya mungkin sedikit terlambat tetapi saya menemukan ini berguna, memahami cadena sebagai String, dan judul kolom kiri sebagai Convert to. :-)

UPDATE: Jadi, saya akhirnya mendapatkan kembali kata sandi saya, saya perbarui dengan teks yang dapat disalin sehingga semoga orang lain dapat menyalin dan menempel seperti biasa, dan untuk beberapa orang lain yang bisa mendapatkan indeksasi data (jika ya). :-) Selamat Kumis November.

 Convertion Table

double  --> Double.parseDouble(String);
float   --> Float.parseFloat(String);
long    --> Long.parseLong(String);
int     --> Integer.parseInt(String);
char    --> StringGoesHere.parseFloat(int position);
short   --> Short.parseShort(String);
byte    --> Byte.parseByte(String);
boolean --> Boolean.parseBoolean(String);
1
Hikhuj

Cara Esai:

public class CharToInt{  
public static void main(String[] poo){  
String ss="toyota";
for(int i=0;i<ss.length();i++)
  {
     char c = ss.charAt(i); 
    // int a=c;  
     System.out.println(c); } } 
} 

Untuk Output, lihat tautan ini: Klik di sini

Terima kasih :-) 

0
Shivanandam

Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String. Jika string berukuran 1 karakter, ambil saja karakter itu dengan memanggil .charAt (0) (atau .First () dalam C #).

0
Mayer Spitzer