Wie analysiere ich einen String
-Wert in Java zu einem char
-Typ?
Ich weiß, wie man int und double macht (zum Beispiel Integer.parseInt ("123")). Gibt es eine Klasse für Strings und Chars?
Wenn Ihre Zeichenfolge genau ein Zeichen enthält, können Sie die Methode charAt
wahrscheinlich am einfachsten in ein Zeichen konvertieren:
char c = s.charAt(0);
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Char-Wert an einem beliebigen Index abzurufen. Wenn Sie den String in ein Char-Array konvertieren möchten, rufen Sie .toCharArray () für den String auf.
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']
sie können diesen Trick verwenden:
String s = "p";
char c = s.charAt(0);
Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie einfach das Zeichen . Wenn die Zeichenfolge nicht 1 Zeichen lang ist, kann sie nicht in ein Zeichen zerlegt werden.
String string = "This is Yasir Shabbir ";
for(char ch : string.toCharArray()){
}
oder wenn du es individuell willst, kannst du es als
char ch = string.charAt(1);
org.Apache.commons.lang.StringEscapeUtils . (un) EscapeJava-Methoden sind wahrscheinlich das, was Sie wollen
Antwort von brainzzy nicht meins:
Die einfachste Möglichkeit, eine String
in eine char
umzuwandeln, ist 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
Hier ist ein vollständiges Skript:
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();
}
}
Wenn Sie einen String in ein Char parsen möchten, während das String-Objekt mehr als ein Zeichen darstellt, verwenden Sie einfach den folgenden Ausdruck: char c = (char) Integer.parseInt (s) . Wobei s der Zeichenfolge entspricht, die Sie analysieren möchten. Die meisten Leute vergessen, dass Zeichen eine 16-Bit-Zahl darstellen und daher Teil von any numerischer Ausdrücke sein können :)
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));
}
}
}
Sie können einfach mit der Funktion toCharArray()
eine Zeichenfolge in ein Char-Array konvertieren:
Scanner s=new Scanner(System.in);
System.out.print("Enter some String:");
String str=s.nextLine();
char a[]=str.toCharArray();
Sie können Folgendes tun:
String str = "abcd";
char arr[] = new char[len]; // len is the length of the array
arr = str.toCharArray();
Ich bin zwar etwas spät dran, aber ich fand das nützlich, verstehe Cadena als String und den linken Spaltentitel als Convert to. :-)
UPDATE: Also habe ich endlich mein Passwort zurückbekommen, ich habe es mit kopierbarem Text aktualisiert, damit andere wie gewohnt kopieren und einfügen können, und für einige andere die Indexierung der Daten erhalten können (falls dies der Fall ist). :-) Glücklicher November-Schnurrbart.
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);
Ein Essay-Weg:
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); } }
}
Für die Ausgabe siehe diesen Link: Hier klicken
Vielen Dank :-)
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Char-Wert an einem beliebigen Index abzurufen. Wenn Sie den String in ein Char-Array konvertieren möchten, rufen Sie .toCharArray () für den String auf. Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie dieses Zeichen einfach durch Aufruf von .charAt (0) (oder .First () in C #).