zoukankan      html  css  js  c++  java
  • 姓名排序

    ///yuec2 yue cheng
    package lab1;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    /**NameSorter class takes n number of names in the form of string inputs 
     * from the user. It then asks user for which name to search for. 
     * It sorts the names entered by the user, and then prints the 
     * position of the search-name in the sorted list of the names, 
     * if it is found.
     */
    
    public class NameSorter {
        Scanner input = new Scanner(System.in);
        
        /**getNameInputs takes an int parameter n and creates an array of size n. 
         * It then asks user to Enter n names that get stored in the array. 
         * It uses the helper method toTitleCase() to convert all names to Title case. 
         * It returns the array filled with names entered by the user.
         */
        String[] getNameInputs(int n) {
            //write your code here
            String[] names = new String[n];
            for (int i = 0; i < n; i++) {
                names[i] = input.next();
            }
            return names;
        }
        
        /**toTitleCase() takes one string argument as name and returns the string in title case. 
         * If the name is null or the string is empty, it returns null.
         */
        String toTitleCase(String name) {
            //write your code here
            if (name == null || name.length() == 0) 
                return null;
            char c = name.charAt(0);
            char cap = Character.toUpperCase(c);
            String sub = name.substring(1);
            StringBuilder sb = new StringBuilder();
            sb.append(cap);
            for (int i = 0; i < sub.length(); i++) {
                sb.append(Character.toLowerCase(sub.charAt(i)));
            }
            return sb.toString();
        }
    
        /**sortAndSearch() takes two arguments. The first is an array of strings and the second
         * is a searchString. The method first sorts the array in increasing alphabetical order, 
         * and prints it in that order.
         * It then searches for the searchString in a case-insensitive way. If the searchString is found,
         * it returns the position of the searchString according to the sorted list. 
         * If it is not found, then it returns -1.
         */
        int sortAndsearch(String[] strings, String searchString) {
            int pos = -1;
            if (strings == null || strings.length == 0 || searchString == null) 
                return pos;
            //write your code here
            Arrays.sort(strings);
            for (int i = 0; i < strings.length; i++) {
                if (strings[i].equalsIgnoreCase(searchString)) 
                    return i;
            }
            return pos;
        }
    
        /**DO NOT CHANGE THIS METHOD */
        public static void main(String[] args) {
            NameSorter ns = new NameSorter();
            System.out.println("*** How many names to store? ***");
            int n = ns.input.nextInt();
            if (n > 0) {
                String[] names = ns.getNameInputs(n);
                System.out.println("*** Enter the name to search ***");
                String name = ns.input.next();
                int position = ns.sortAndsearch(names, name);
                if (position >=0 ) System.out.println(name + " found at position " + (position+1));
                else System.out.println("Sorry! " + name + " not found!");
            } else System.out.println("Good Bye!");
        }
    }
    View Code

    读懂题、先写cc  equalsIgnoreCase等给的函数要用

    Arrays.sort(strings);自动按首字母排序

     

     

    注意names[i] = input.next();和nextline()的区别

    String[] getNameInputs(int n) {
            //write your code here
            String[] names = new String[n];
            for (int i = 0; i < n; i++) {
                names[i] = input.next();
            }
            return names;
        }
  • 相关阅读:
    Java基本数据类型之间转换
    python 元组tuple
    python 列表List
    python 字符串
    python for循环
    python break/continue
    python while循环
    python条件判断if/else
    python运算符
    python变量
  • 原文地址:https://www.cnblogs.com/immiao0319/p/9644388.html
Copyright © 2011-2022 走看看