Javaテスト——文字列判定など
合計時間制限:1000 msメモリ制限:65536 kB
記述は、大文字と小文字の2つの文字列が大文字と小文字を無視し、スペースを無視した後に等しいかどうかを判断します.
1行に1つの文字列を含む2行を入力します.出力2文字列が等しい場合はYES、そうでない場合はNOを出力します.
サンプル入力
サンプル出力
機械試験の第1時間に思いついた基本構想は、元の文字列をsplitで分割し、StringBuffer内のappend法で文字列配列を第2の要素から第1の要素の後ろに接続してから単一の文字列に戻すことである.判断はequalsIgnoreCaseメソッドで大文字と小文字を無視します.テスト後、同級生と交流したところ、replaceAllの方法が簡単であることが分かった(AC):
やはりよく使う種類のいろいろな方法を覚えていないようで、後で専門的に時間を探してもっと見なければなりません.
記述は、大文字と小文字の2つの文字列が大文字と小文字を無視し、スペースを無視した後に等しいかどうかを判断します.
1行に1つの文字列を含む2行を入力します.出力2文字列が等しい場合はYES、そうでない場合はNOを出力します.
サンプル入力
a A bb BB ccc CCC
Aa BBbb CCCccc
サンプル出力
YES
試験時ACコード
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
StringBuffer sb1=new StringBuffer();
StringBuffer sb2=new StringBuffer();
String str1=in.nextLine();
String str2=in.nextLine();
String[] s1=str1.split(" ");
String[] s2=str2.split(" ");
for(int i=0;i<s1.length;i++) {
sb1.append(s1[i]);
}
String st1=sb1.toString();
for(int i=0;i<s2.length;i++) {
sb2.append(s2[i]);
}
String st2=sb2.toString();
if(st1.equalsIgnoreCase(st2)==true)
System.out.println("YES");
else System.out.println("NO");
in.close();
}
}
機械試験の第1時間に思いついた基本構想は、元の文字列をsplitで分割し、StringBuffer内のappend法で文字列配列を第2の要素から第1の要素の後ろに接続してから単一の文字列に戻すことである.判断はequalsIgnoreCaseメソッドで大文字と小文字を無視します.テスト後、同級生と交流したところ、replaceAllの方法が簡単であることが分かった(AC):
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s1=in.nextLine();
String s2=in.nextLine();
if(s1.replaceAll(" ","").equalsIgnoreCase(s2.replaceAll(" ","")))
System.out.println("YES");
else
System.out.println("NO");
in.close();
}
}
やはりよく使う種類のいろいろな方法を覚えていないようで、後で専門的に時間を探してもっと見なければなりません.