画柱状图Java
2024-09-20 21:55:07
样例输入:
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
样例输出:
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
题目的意思是从命令行输入一个大写的字符串,求一个字符出现的频率,画出来。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays; public class Main { public static void main(String[] args) throws NumberFormatException,
IOException {
BufferedReader read = new BufferedReader(new InputStreamReader(
System.in));
int[] a = new int[26];
int tt;
for (int i = 0; i < 4; i++) {
String str = read.readLine();
for (int j = 0; j < str.length(); j++) {
tt = str.charAt(j) - 'A';
if (tt >= 0 && tt <= 25) {
a[tt]++;
}
}
}
int max = 0;
for (int i = 0; i < 26; i++) {
if (a[i] > max) {
max = a[i];
}
}
char[][] c = new char[max + 1][51];
for (int i = 0; i < max + 1; i++) {
Arrays.fill(c[i], ' ');
}
for (int i = 0; i < 26; i++) {
int h = a[i];
for (int j = 0; j < h; j++) {
c[max - 1 - j][i * 2] = '*';
}
}
for (int i = 0; i < 26; i++) {
c[max][i * 2] = (char) ('A' + i);
}
for (int i = 0; i < max + 1; i++) {
String str = String.valueOf(c[i]);
while (str.endsWith(" ")) {
str = str.substring(0, str.length() - 1);
}
System.out.println(str);
}
}
最新文章
- Promise和$.Deferred总结
- WPF中设置快捷键
- 可能 delphi7 下稳定的最后一版本 GDIPLUS
- thinkphp禁止模版标签解析
- C++学习3
- 第一部分 CLR基础:第2章 生成、打包、部署和管理应用程序及类型
- [Everyday Mathematics]20150114
- 白书P60 - 硬币问题
- extjs中gridpanel动态显示/隐藏列
- CSS 常用自定义样式
- Laravel创建Model
- bis.org
- tcp那个孤独的小包到底怎么回事?
- KMeans算法分析以及实现
- [朴孝敏][Ooh La La]
- Git分支管理的策略梳理
- eclipse签名使用的key文件(android生成keystore)
- Springbooot +Mybaties 配置数据库多数据源
- BBS-基于forms组件和ajax实现注册功能
- Vue.Draggable:基于 Sortable.js 的 Vue 拖拽组件使用中遇到的问题