数値のみ抽出
質問する
文字列が指定され、アルファベットと数値が含まれている場合は、数値のみが抽出され、自然数が順番に作成されます.生成した自然数とその自然数の約数を出力します.「t 0 e 0 a 1 c 2 her」からのみ数値を抽出する場合は0、0、1、および2であり、自然数を作成する場合は12である.すなわち,自然デジタル化では1位0を無視する.
出力出力は12で、次の行には約12の数字が出力されます.
抽出によって作成された自然数は10000000を超えない.
入力例
g0en2Ts8eSoft
出力例
28
6
答え
public class problem06 {
public static void main(String[] args) {
String a = "g0en2Ts8eSoft";
String result = method(a);
String result2 = method2(a);
System.out.println(result);
System.out.println(result2);
}
//첫 번째 답
public static String method(String a) {
String result = "";
int num = 0;
for(int i=0; i<a.length(); i++) {
char b = a.charAt(i);
if(b>='0'&& b<='9') {
num = num*10+(b-'0'); //기존의 값을 10 곱해주면 됨.
}
}
int count = 0;
for(int i=1; i<=num; i++) {
if(num%i==0)
count++;
}
result = num+"\n"+count;
return result;
}
//두 번째 답
public static String method2(String a) {
String result = "";
String number = "";
for(int i=0; i<a.length(); i++) {
char b = a.charAt(i);
if(b>='0'&& b<='9') {
//Char를 이어붙여 String만듦
number = number+Character.toString(b);
}
}
//숫자로 만들면 자동적으로 028이 28이 된다.
int num = Integer.parseInt(number);
int count = 0;
for(int i=1; i<=num; i++) {
if(num%i==0)
count++;
}
result = num+"\n"+count;
return result;
}
}
Reference
この問題について(数値のみ抽出), 我々は、より多くの情報をここで見つけました https://velog.io/@minji104/숫자만-추출テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol