ฉันจะแยกString
ค่าchar
ประเภทใน Java ได้อย่างไร
ฉันรู้วิธีที่จะทำเพื่อ int และสองครั้ง (ตัวอย่างInteger.parseInt("123")
) มีคลาสสำหรับ Strings and Chars หรือไม่?
ฉันจะแยกString
ค่าchar
ประเภทใน Java ได้อย่างไร
ฉันรู้วิธีที่จะทำเพื่อ int และสองครั้ง (ตัวอย่างInteger.parseInt("123")
) มีคลาสสำหรับ Strings and Chars หรือไม่?
คำตอบ:
หากสตริงของคุณมีอักขระหนึ่งตัววิธีที่ง่ายที่สุดในการแปลงเป็นอักขระน่าจะเรียกcharAt
เมธอดดังกล่าว:
char c = s.charAt(0);
คุณสามารถใช้ฟังก์ชัน. charAt (int)กับ Strings เพื่อดึงค่าถ่านที่ดัชนีใด ๆ หากคุณต้องการแปลง String เป็นถ่านให้ลองโทร. toCharArray ()บน 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']
คุณสามารถใช้เคล็ดลับนี้:
String s = "p";
char c = s.charAt(0);
"123"
เข้ามา'1'
นั่นคือสิ่งที่คุณหลังจาก?
หากสตริงมีความยาว 1 อักขระให้ใช้อักขระนั้น หากสตริงมีความยาวไม่เกิน 1 อักขระจะไม่สามารถแยกวิเคราะห์เป็นอักขระได้
String string = "This is Yasir Shabbir ";
for(char ch : string.toCharArray()){
}
หรือถ้าคุณต้องการทีละคนคุณสามารถเป็น
char ch = string.charAt(1);
org.apache.commons.lang.StringEscapeUtils (un) เมธอด EscapeJava เป็นโพรบที่คุณต้องการ
คำตอบจาก brainzzy ไม่ใช่ของฉัน:
วิธีที่ง่ายที่สุดในการแปลง a String
เป็น a char
คือ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
นี่คือสคริปต์แบบเต็ม:
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();
}
}
ฉันอาจจะช้าไปหน่อย แต่ฉันพบว่ามีประโยชน์นี้เข้าใจ cadena เป็น String และชื่อคอลัมน์ด้านซ้ายเป็นแปลงเป็น :-)
อัปเดต: ดังนั้นในที่สุดฉันก็ได้รับรหัสผ่านกลับมาฉันอัปเดตด้วยข้อความที่สามารถใช้งานได้ดังนั้นผู้อื่นอาจเพียงแค่คัดลอกและวางอย่างเช่นเคยและสำหรับคนอื่น ๆ ที่สามารถรับการจัดทำดัชนีของข้อมูลได้ :-) หนวดพฤศจิกายนมีความสุข
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);
ถูกต้อง? จริง ๆ แล้วฉันยังไม่ได้ตรวจสอบ แต่ฉันค่อนข้างแน่ใจว่าString
ไม่มีparseFloat
วิธีการและแม้ว่าจะเป็นเช่นนั้นฉันก็ไม่สามารถมองเห็นได้ว่าทำไมถึงเป็นสิ่งที่คุณพยายามทำที่นั่น
หากคุณต้องการที่จะแยกสตริงเพื่อถ่านในขณะที่วัตถุ String แทนมากกว่าหนึ่งตัวคุณเพียงแค่ใช้ความต่อไปนี้: ถ่าน c = (ถ่าน) Integer.parseInt (s) ที่ไหนsเท่ากับสตริงที่คุณต้องการที่จะแยก คนส่วนใหญ่ลืมว่า char เป็นตัวแทนของตัวเลข 16 บิตและสามารถเป็นส่วนหนึ่งของการแสดงออกเชิงตัวเลขใด ๆ :)
char
เป็นเช่นเดียวกับและint
double
เขายังให้ตัวอย่างString
"123" และใครบอกว่าคุณไม่สามารถแปลง a char
เป็น a String
ด้วยความยาวใหญ่กว่าหนึ่งและย้อนกลับได้? ลองตัวเองกับchar c = 123
: ผลตอบแทนString.valueOf((int) c).equals("123")
true
int
คุณสามารถดูได้ที่คำตอบที่ได้รับการยอมรับที่ชัดเจนไม่รวมกลาง สำหรับตัวอย่างของคุณคุณจำเป็นต้องโยนไปint
ซึ่งหมายความว่าคุณกำลังทำงานไม่ได้อยู่กับที่เดิมchar
แต่กับที่เกิดขึ้นอย่างใดตรงกับต้นฉบับint
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));
}
}
}
คุณสามารถทำสิ่งต่อไปนี้:
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();
คุณสามารถใช้toCharArray()
เพื่อแปลงสตริงให้เป็นอาร์เรย์ถ่าน:
Scanner s=new Scanner(System.in);
System.out.print("Enter some String:");
String str=s.nextLine();
char a[]=str.toCharArray();
วิธีเรียงความ:
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); } }
}
สำหรับผลลัพธ์ดูลิงค์นี้: คลิกที่นี่
ขอบคุณ :-)
คุณสามารถใช้ฟังก์ชัน. charAt (int)กับ Strings เพื่อดึงค่าถ่านที่ดัชนีใด ๆ หากคุณต้องการแปลง String เป็นถ่านให้ลองโทร. toCharArray ()บน String หากสตริงมีความยาว 1 ตัวอักษรให้ใช้ตัวอักษรนั้นโดยการเรียก. charAt (0) (หรือ .First () ใน C #)