0
1

More than 3 years have passed since last update.

【Java】値/文字列を比較(AOJ14 - カードゲーム)

Posted at

値や文字列を比較

  • compareToメソッド
  • 戻り値はメソッドの呼び出し元の値(変数1) - 引数の値(変数2)
    • 左の値 - 右の値=正: 1
    • 左の値 - 右の値=負: -1
    • 左の値 - 右の値=0:0
  • 日時も比較可能
  • compareToIgnoreCaseメソッド:文字列の大文字と小文字を区別しない
import java.util.Date;
public class Main {

    public static void main(String[] args) {

        String str1 = "a";
        String str2 = "b";
        String str3 = "A";
        Date date1 = new Date(2017, 3, 28, 16, 20, 22);
        Date date2 = new Date(2017, 3, 29, 16, 20, 24);

        System.out.println(str1.compareTo(str2)); //-1
        System.out.println(str2.compareTo(str1)); //1
        System.out.println(str1.compareTo(str1)); //0
        System.out.println(str1.compareTo(str3)); //32
        System.out.println("===");
        System.out.println(str1.compareToIgnoreCase(str3)); //0
        System.out.println("===");
        System.out.println(date1.compareTo(date2)); //-1
        System.out.println(date2.compareTo(date1)); //1
        System.out.println(date1.compareTo(date1)); //0
    }
}

カードゲーム(ITP1-9)

太郎と花子がカードゲームをする。二人はそれぞれn枚のカードを持っており、nターンの勝負を行う。各ターンではそれぞれ1枚ずつカードを出す。カードにはアルファベットからなる動物の名前が書かれており、辞書順で大きいものがそのターンの勝者となる。勝者には3ポイント、引き分けの場合にはそれぞれ1ポイントが加算される。
太郎と花子の手持ちのカードの情報を読み込み、ゲーム終了後のそれぞれの得点を出力するプログラムを作成せよ。
Constraints
* 入力で与えられるnが1000を超えることはない。
* 与えられる文字列の長さは100以下であり、アルファベットの小文字のみを含む。
Input
一行目にカードの数nが与えられる。続くn行に各ターンのカードの情報が与えられる。1つ目の文字列が太郎のカードに書かれている文字列、2つ目の文字列が花子のカードに書かれている文字列である。
Output
1つ目の数字が太郎の得点、2つ目の数字が花子の得点として1行に出力せよ。2つの数字の間に1つの空白を出力せよ。
Sample Input
3
cat dog
fish fish
lion tiger
Sample Output
1 7

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int Taro = 0;
        int Hanako = 0;

        for (int i = 0; i < a; i++) {
            String b = scanner.next();
            String c = scanner.next();
            if (b.compareTo(c) > 0)
                Taro += 3;
            else if (b.compareTo(c) < 0)
                Hanako += 3;
            else {
                Taro += 1;
                Hanako += 1;
            }
        }
        System.out.println(String.format("%d %d",Taro, Hanako));
    }
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1