Bagaimana cara mem-parsing String
nilai ke char
tipe, di Java?
Saya tahu bagaimana melakukannya untuk int dan gandakan (misalnya Integer.parseInt("123")
). Apakah ada kelas untuk Strings and Chars?
Bagaimana cara mem-parsing String
nilai ke char
tipe, di Java?
Saya tahu bagaimana melakukannya untuk int dan gandakan (misalnya Integer.parseInt("123")
). Apakah ada kelas untuk Strings and Chars?
Jawaban:
Jika string Anda berisi tepat satu karakter, cara paling sederhana untuk mengubahnya menjadi karakter mungkin dengan memanggil charAt
metode:
char c = s.charAt(0);
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']
Anda dapat menggunakan trik ini:
String s = "p";
char c = s.charAt(0);
"123"
menjadi '1'
, apakah itu yang Anda cari?
Jika string memiliki 1 karakter, ambil saja karakter itu . Jika string tidak sepanjang 1 karakter, string tidak dapat diuraikan menjadi karakter.
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 yang Anda inginkan
Jawaban dari brainzzy bukan milik saya:
Cara termudah untuk mengonversi a String
ke char
menggunakan adalah 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();
}
}
Saya mungkin sedikit terlambat tetapi saya menemukan ini berguna, memahami cadena sebagai String, dan judul kolom kiri sebagai Convert to. :-)
PEMBARUAN: Jadi, saya akhirnya mendapatkan kembali kata sandi saya, saya perbarui dengan teks yang dapat disalin sehingga mungkin orang lain dapat menyalin dan menempel seperti biasa, dan untuk beberapa orang lain yang bisa mendapatkan indeksasi data (jika ya). :-) Selamat Kumis November.
double --> Double.parseDouble(String);
float --> Float.parseFloat(String);
long --> Long.parseLong(String);
int --> Integer.parseInt(String);
char --> stringGoesHere.charAt(int position);
short --> Short.parseShort(String);
byte --> Byte.parseByte(String);
boolean --> Boolean.parseBoolean(String);
char --> StringGoesHere.parseFloat(int position);
benar? Jujur saya belum memeriksa, tetapi saya cukup yakin String
tidak memiliki parseFloat
metode, dan bahkan jika itu, saya tidak bisa melihat mengapa itu akan menjadi apa yang Anda coba lakukan di sana.
Jika Anda ingin mengurai 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 ekspresi numerik apa pun :)
char
, seperti int
dan double
. Dia bahkan memberi contoh String
"123". dan siapa bilang Anda tidak bisa mengonversi a char
ke String
dengan panjang lebih besar dari satu, dan kembali? Coba sendiri dengan char c = 123
: String.valueOf((int) c).equals("123")
pengembalian true
.
int
. Misalnya, Anda perlu cor untuk int
, yang berarti bahwa Anda bekerja tidak dengan yang asli char
, tetapi dengan int
yang terjadi entah bagaimana sesuai dengan aslinya char
.
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));
}
}
}
Anda dapat melakukan hal berikut:
String str = "abcd";
char arr[] = new char[len]; // len is the length of the array
arr = str.toCharArray();
String str = "abc"; char[] char_str = str.toCharArray();
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();
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 :-)
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 () di C #).