2020-07-27日报博客

2020-07-27日报博客

1.完成的事情:

  • 完成CodeGym Java基础level 8部分,并完成练习题
  • 阅读《大道至简》。

2.遇到的问题:

  • 各种列表的使用方法以及区别,还有他们使用的合适条件。

3.明日计划:

  • 继续学习Java。
/*taskKey="zh.codegym.task.task08.task0828"

月份编号

程序从键盘读取月份名称,然后在屏幕上使用如下短语显示月份编号:“May 是第 5 个月”。
使用集合。


Requirements:
1.	程序应从键盘读取一个值。
2.	程序应在屏幕上显示文本。
3.	程序必须使用集合。
4.	程序应从键盘读取月份的名称,并根据指定模板在屏幕上显示月份编号。*/

package zh.codegym.task.task08.task0828;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

/* 
月份编号
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        Map<String,String> map = new HashMap<String,String>();
        map.put("January","January 是第 1 个月");
        map.put("February","February 是第 2 个月");
        map.put("March","March 是第 3 个月");
        map.put("April","April 是第 4 个月");
        map.put("May","May 是第 5 个月");
        map.put("June","June 是第 6 个月");
        map.put("July","July 是第 7 个月");
        map.put("August","August 是第 8 个月");
        map.put("September","September 是第 9 个月");
        map.put("October","October 是第 10 个月");
        map.put("November","November 是第 11 个月");
        map.put("December","December 是第 12 个月");
        System.out.println(map.get(reader.readLine()));
    }
}
/*taskKey="zh.codegym.task.task08.task0829"

软件更新

任务:程序确定哪个家庭(姓氏)居住在具有指定编号的房屋中。
新任务:程序应处理城市而不是房屋编号:
示例输入:
芝加哥
卡彭
纽约市
洛克菲勒
西雅图
盖茨

西雅图

示例输出:
盖茨


Requirements:
1.	程序应在屏幕上显示文本。
2.	程序应从键盘读取值。
3.	Solution 类必须包含一个方法。
4.	程序应根据所输入的城市显示家庭的姓氏。*/

package zh.codegym.task.task08.task0829;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/* 
软件更新
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        Map<String,String> map = new HashMap<String,String>();
        while (true) {
            String city = reader.readLine();
            if (city.isEmpty()) break;
            String family = reader.readLine();
            map.put(city,family);
        }
        String houseCity = reader.readLine();
        System.out.println(map.get(houseCity));
    }
}
/*taskKey="zh.codegym.task.task08.task0830"

有关算法的任务

任务:从键盘输入 20 个单词(仅使用拉丁字母),并以字母顺序显示它们。每行显示一个单词。


Requirements:
1.	程序应在屏幕上显示文本。
2.	程序应从键盘读取值。
3.	Solution 类必须包含三个方法。
4.	main() 方法应调用 sort() 方法。
5.	sort() 方法应调用 isGreaterThan() 方法。
6.	所显示的单词应按字母顺序排序。*/


package zh.codegym.task.task08.task0830;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] array = new String[20];
        for(int i = 0; i < array.length; i++) {
            array[i] = reader.readLine();
        }

        sort(array);

        for (String x : array) {
            System.out.println(x);
        }
    }

    public static void sort(String[] array) {
        String term;
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (isGreaterThan(array[j], array[j + 1])){
                    term = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = term;
                }
            }
        }
    }

    // 字符串比较方法:‘a’大于‘b’
    public static boolean isGreaterThan(String a, String b) {
        return a.compareTo(b) > 0;
    }
}
原文地址:https://www.cnblogs.com/gongyunlong-blogs/p/13448935.html