Wie analysiere ich einen String
Wert char
in Java zu einem Typ?
Ich weiß, wie man es macht, um int und double (zum Beispiel Integer.parseInt("123")
). Gibt es eine Klasse für Streicher und Zeichen?
Wie analysiere ich einen String
Wert char
in Java zu einem Typ?
Ich weiß, wie man es macht, um int und double (zum Beispiel Integer.parseInt("123")
). Gibt es eine Klasse für Streicher und Zeichen?
Antworten:
Wenn Ihre Zeichenfolge genau ein Zeichen enthält, können Sie sie am einfachsten in ein Zeichen konvertieren, indem Sie die folgende charAt
Methode aufrufen :
char c = s.charAt(0);
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert 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);
"123"
in etwas verwandeln '1'
, ist es das, wonach Sie suchen?
Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie einfach dieses Zeichen . Wenn die Zeichenfolge nicht 1 Zeichen lang ist, kann sie nicht in ein Zeichen analysiert werden.
String string = "This is Yasir Shabbir ";
for(char ch : string.toCharArray()){
}
oder Wenn Sie individuell möchten, können Sie als
char ch = string.charAt(1);
org.apache.commons.lang.StringEscapeUtils . (un) EscapeJava-Methoden sind wahrscheinlich das, was Sie wollen
Antwort von brainzzy nicht von mir:
Der einfachste Weg, a String
in a umzuwandeln , char
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();
}
}
Ich bin vielleicht etwas spät dran, aber ich fand das nützlich, verstehe Kadena als String und den Titel der linken Spalte als Konvertieren in. :-)
UPDATE: Also habe ich endlich mein Passwort zurückbekommen, ich habe es mit kopierbarem Text aktualisiert, damit andere wie immer einfach kopieren und einfügen können, und für einige andere, die eine Indizierung der Daten erhalten können (falls dies der Fall ist). :-) Fröhlichen November Schnurrbart.
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);
das richtig ist? Ehrlich gesagt habe ich nicht nachgesehen, aber ich bin mir ziemlich sicher, dass String
es keine parseFloat
Methode gibt, und selbst wenn dies der Fall ist, kann ich nicht verstehen, warum Sie das dort versuchen würden.
Wenn Sie einen String in ein Zeichen analysieren 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 gleich dem String ist, den Sie analysieren möchten. Die meisten Leute vergessen, dass Zeichen eine 16-Bit-Zahl darstellen und somit Teil eines beliebigen numerischen Ausdrucks sein können :)
char
ist a, genau wie int
und double
. Er gab sogar das Beispiel String
"123". und wer sagt, dass man a nicht char
in a String
mit einer Länge größer als eins konvertieren kann und zurück? Probieren Sie es selbst aus mit char c = 123
: String.valueOf((int) c).equals("123")
kehrt zurück true
.
int
. Für Ihr Beispiel müssen Sie zu Guss zuint
, was bedeutet , dass Sie nicht mit dem Original arbeiten char
, aber mit ein int
, die irgendwie passiert mit dem Original entsprechen 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));
}
}
}
Sie können Folgendes tun:
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();
Sie können einfach die verwenden toCharArray()
, um eine Zeichenfolge in ein char-Array zu konvertieren:
Scanner s=new Scanner(System.in);
System.out.print("Enter some String:");
String str=s.nextLine();
char a[]=str.toCharArray();
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: Klicken Sie hier
Vielen Dank :-)
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert 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, indem Sie .charAt (0) (oder .First () in C #) aufrufen.