作者 Anonymous [java] 2012-05-26 00:00 (点击下载) (原始帖子: caasi 在 2012-05-26 00:00 被修改)) (显示不同)

  1. import java.io.*;
  2. public class test {
  3. public static void main (String args[]) {
  4. int i, j;
  5. String s="";
  6. Array[] c = new Array[50]; //Store the letters info
  7. for (i = 0; i < 50; i++) {
  8. c[i].ch = 0;
  9. c[i].times = 0;
  10. c[i].per = 0;
  11. }
  12. try{
  13. System.out.println("Please input the string: ");
  14. s = br.readLine();
  15. }catch(IOException e){}
  16. for (i = 0; i < s.length(); i++) {
  17. for (j = 0; j < 50; j++) {
  18. if (c[j].times == 0) {
  19. c[j].ch = s.charAt(i);
  20. c[j].times++;
  21. break;
  22. }
  23. else if (c[j].ch == s.charAt(i)) {
  24. c[j].times++;
  25. break;
  26. }
  27. else continue;
  28. }
  29. }
  30. System.out.println(c[42].times);
  31. for (i = 0; i < 100 && c[i].times != 0; i++) {
  32. c[i].per = c[i].times/s.length();
  33. }
  34. Sort.sort(c);
  35. for (i = 0; i < 100 && c[i].times != 0; i++) {
  36. System.out.print(c[i].ch);
  37. System.out.println("'s percentage is "+c[i].per);
  38. }
  39. }
  40. }
  41.  
  42. class Array {
  43. char ch; //the letter
  44. int times; //the times
  45. float per; //the percentage
  46. }
  47.  
  48. class Sort {
  49. static void sort(Array[] c) {
  50. int pass, i;
  51. Array temp = new Array();
  52. for (pass = 1; pass < 50 && c[pass].times != 0; pass++) {
  53. temp.ch = c[pass].ch;
  54. temp.times = c[pass].times;
  55. temp.per = c[pass].per;
  56. for (i = pass-1; i >= 0; i--)
  57. if (c[i].times > temp.times) break;
  58. else {
  59. c[i+1].ch = c[i].ch;
  60. c[i+1].times = c[i].times;
  61. c[i+1].per = c[i].per;
  62. }
  63. c[i+1].ch = temp.ch;
  64. c[i+1].times = temp.times;
  65. c[i+1].per = temp.per;
  66. }
  67. }
  68. }

提交下面的校正或者修改. (点击这里开始一个新的帖子)
姓名: 在 cookie 中记住我的名字

屏幕抓图:(jpeg 或 png)