JTextAreaに入力された文字列が数字かどうかを確認するプログラムの一部を作成しています。方法は、文字列全体が数字を含んでいるわけではなく、数字が何桁であるかわからない)。私はすでにJTextAreaから文字列を取得する方法と、文字列に数値が含まれているかどうかをチェックする方法を知っています。しかし、私はどのように文字列から正確な番号を取得するのか分からない。不明なサイズの文字列から番号を取得する方法(Java)
//no problems with this method, it's just here for reference.
public static boolean isNum(char[] c, int index){
//I want to include numbers 0-9
for(int i = 0; i < 10; i++){
if(c[index].equals(i(char)) || c[index].equals('.')){
return true;
}
}
//if the character is not a number 0-9, it is not a number, thus returning false.
return false;
}
と::
//I need a string parameter to make it easier to get the text from the JTextArea
public static float checkNum(String s){
//a List to hold the digits
List<Char> digits = new List<Char>();
//a char array so I can loop through the string
char[] c = s.toCharArray();
for(int i = 0; i < c.length(); i++){
//if the character is not a number, break the loop
if(!isNum(c[i])){
break;
}
else{
//if the character is a number, add it to the next digit
digits.add(c[i]);
}
}
//insert code here.
}
たぶん私は、その後にそれを変換し、その文字列に変換し、バックchar型の配列にchar型のリストを変換する必要がありますここで私が働いている二つの方法がありますフロート?もしそうなら、どうすればいいのですか?
編集:ありがとう、私は正規表現を見て、私は仕事をするだろうとは思わない。私は番号が不明な桁数を探しています。私は、数字には最後にスペースがあることを知っています(または少なくとも数字以外の値)。
:あなたは数内で小数点を扱うようにしたい場合は
、あなたがする方法を変更できますか? 'BigInteger'か' BigDecimal'のどちらかを使うと問題は解決するでしょうが、明確にするためにどこから値を抽出していますか?あなたはあなたの文字列全体が数字ではないかもしれないと言っています(非数字を解析することができるのでうまくいきます)が、使用しようとしている2つのメソッドを見ているだけです。少し難しい。 – Makoto
私は(さまざまなタイプの)方程式内の数字を見つけようとしているので、それらの数字で演算を行うことができます(加算、減算など)。 – MethodHax