zoukankan      html  css  js  c++  java
  • 2018/12/05 PAT刷题 L1-019 谁先倒 Java

    这道题目非常的可以反映我的现状, 阅读的能力太差了, 将问题转化成代码的能力太差, 补救的办法就是多写题目.

    这道题目有很多值得玩味的地方, 首先使用类来保存格式严格的一系列的数据, 是一个非常实用的方法. 其次使用数组保存类的数据. 从而将多次输入的结构相同的数据以数组的形式保存下来, 调用数据也十分的方便, 直接使用数组元素.属性的方法就可以调用数组中保存的类元素的属性.

    代码如下:

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         
     6         Scanner sc = new Scanner(System.in);
     7         int a = sc.nextInt();
     8         int b = sc.nextInt();
     9 
    10         int n = sc.nextInt();
    11         Drinking[] array = new Drinking[n];
    12         for (int i = 0; i < n; i++) {
    13             array[i] = new Drinking(sc.nextInt(), sc.nextInt(), sc.nextInt(), sc.nextInt());
    14             // 将每次喝酒的情况保存到类中, 再将类的信息保存到数组中. 
    15         }
    16         
    17         sc.close();
    18         int ah = 0; // A喝的次数
    19         int bh = 0; // B喝的次数
    20         for (int i = 0; i < n; i++) {
    21             if (array[i].sum == array[i].b2 && array[i].sum != array[i].a2) {
    22                 b--;
    23                 bh++;
    24             }
    25             if (array[i].sum == array[i].a2 && array[i].sum != array[i].b2) {
    26                 a--;
    27                 ah++;
    28             }
    29 
    30             if (a < 0 || b < 0) { // 只要有一个人和倒了, 就退出循环. 
    31                 break;
    32             }
    33         }
    34 
    35         if (a < 0) {
    36             System.out.println("A");
    37             System.out.println(bh);  // 输出没有喝倒的人和了多少酒
    38         }
    39         if (b < 0) {
    40             System.out.println("B");
    41             System.out.println(ah);  // 输出没有喝倒的人和了多少酒
    42         }
    43     }
    44 }
    45 
    46 class Drinking {
    47     int a1;
    48     int a2;
    49     int b1;
    50     int b2;
    51 
    52     int sum;
    53 
    54     Drinking(int a1, int a2, int b1, int b2) {  // 使用类的结构保存每一次的A和B划拳的情况
    55         this.a1 = a1;
    56         this.a2 = a2;
    57         this.b1 = b1;
    58         this.b2 = b2;
    59         this.sum = a1 + b1;
    60     }
    61 }
  • 相关阅读:
    mysql5.7编译安装
    web服务部署工具使用介绍
    Clang Static Analyzer
    MySQL中character set与collation
    Linux 编译运行查找头文件和库的顺序
    git入门及使用记录
    CentOS7通过yum安装gdb8 gcc8 g++8的方法
    win10子系统设置开机启动ssh服务
    STL中map的使用
    C++逆序输出字符串
  • 原文地址:https://www.cnblogs.com/huangZ-H/p/10070829.html
Copyright © 2011-2022 走看看