T1152,T2037,T1113

T1152,T2037,T1113

T1152

小蒜给出了班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前\

解析:使用 int 型数组接受成绩 使用 String 型 数组接受姓名,排序使用冒泡排序 ,先比较成绩大小,使用比较运算符,若相同再比较姓名大小,使用compareTo() 方法

注意:compareTo() 方法 的返回值 。 str1.compareTo(str2) 返回正数 代表 str1 > str2 ;返回0 代表 str1 = str2 ;返回负数 代表 str1 < str2

package com.java3.ch2;
import java.util.Arrays;
import java.util.Scanner;
public class T1152 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        String[] name = new String[n];
        int[] score = new int[n];

        for(int i = 0; i < name.length;i++){
            name[i] = scan.next();
            score[i] = scan.nextInt();
        }

        //System.out.println(Arrays.toString(score));

        for(int i = 0;i < score.length - 1;i++){
            for(int j = 0;j < score.length - 1 - i;j++){
                
                if(score[j] < score[j + 1]) {
                    int tempScore = score[j];
                    score[j] = score[j + 1];
                    score[j + 1] = tempScore;

                    String tempName = name[j];
                    name[j] = name[j + 1];
                    name[j + 1] = tempName;
                    
                }else if(score[j] == score[j + 1]){
                    int compared = name[j].compareTo(name[j+1]);
                    if(compared > 0){
                        int tempScore = score[j];
                        score[j] = score[j + 1];
                        score[j + 1] = tempScore;

                        String tempName = name[j];
                        name[j] = name[j + 1];
                        name[j + 1] = tempName;
                    }
                }
            }
        }

        for(int i = 0;i < name.length;i++){
            System.out.println(name[i] + " " + score[i]);
        }
    }
}

4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28
Joey 92
Hanmeimei 90
Kitty 80
Tim 28

T2037

牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:

总成绩=作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%

牛牛想知道,这门课程自己最终能得到多少分

解析:正常接收数据,然后输出

package com.java3.ch2;
import java.util.Scanner;
public class T2037 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int Awork = scan.nextInt();
        int Btest = scan.nextInt();
        int Cexam = scan.nextInt();

        int score = (int)(Awork * 0.2 + Btest * 0.3 + Cexam * 0.5);
        System.out.println(score);
    }
}

60 90 80
79

T1113

医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将"ASPIRIN"、“aspirin"整理成"Aspirin”

解析:对于接收到的 n 个数据,使用字符串数组存储。对于每个一个字符串,使用 order 函数进行处理,随后输出

package com.java3.ch2;
import java.util.Scanner;
public class T1113 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        String [] arrayStr = new String[n];
        for(int i = 0;i < n;i++) {
            arrayStr[i] = scan.next();
        }

        for(int i = 0;i < n;i++) {
            System.out.println(order(arrayStr[i]));
        }

    }

    public static String order(String str) {
        char charOne = str.charAt(0);
        String strOther = str.substring(1);

        //字母小写a-z:97-122
        //字母大写A-Z:65-90
        if((int)charOne >= 97 && (int)charOne <= 122) {
            charOne = (char)((int)charOne - 32);
        }

        String newStrOther = strOther.toLowerCase();

        return charOne + newStrOther;
    }
}
4
AspiRin
cisapride
2-PENICILLIN
Cefradine-6
Aspirin
Cisapride
2-penicillin
Cefradine-6

计蒜客网址

直达链接

上一篇:Scanner使用


下一篇:spring中注解注入 context:component-scan 的使用说明