Java· 0分!
查看原帖
Java· 0分!
699595
shannonCoding楼主2022/4/5 10:26
package 刷题.普及;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class 垂直柱状图 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		List<String>list=new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			list.add(scanner.nextLine().replaceAll(" ", ""));
		}
		int []nums=new int[26];
		int max=0;
		for (int i = 0; i < list.size(); i++) {
			String str = list.get(i);
			for (int j = 0; j < str.length(); j++) {
				if (str.charAt(j)>='A'&&str.charAt(j)<='Z') {
					int index=str.charAt(j)-'A';
					nums[index]++;
					if (nums[index]>max) {
						max=nums[index];
					}
				}
			}
		}
	
		char [][]view=new char[max][26];
		for (int i = 0; i < nums.length; i++) {//每个字母个数
			if (nums[i]!=0) {
				for (int j = 0; j < view.length; j++) {
					view[j][i]='*';
					nums[i]--;
					if (nums[i]==0) {
						break;
					}
				}
			}
		}
		for (int i = view.length-1; i >=0; i--) {
			for (int j =0 ; j <=view[0].length-1 ; j++) {
				
				if (j==view[0].length-1) {
					System.out.print(view[i][j]);
				}else {
					System.out.print(view[i][j]+" ");
				}
				
			}
			System.out.println();
		}
		
		for (int i = 0; i < 26; i++) {
			if (i==25) {
				System.out.print((char)(i+'A'));
			}else {
				System.out.print((char)(i+'A')+" ");
			}
		}
	}
}

2022/4/5 10:26
加载中...