Java方法

素数输出:

 1 import java.util.*;
 2 
 3 public class Test {
 4 
 5     Scanner scanner=new Scanner(System.in);
 6     @SuppressWarnings("null")
 7     public static void main(String[] args) {
 8         Test test = new Test();
 9         test.outPrime();//3-100之间的素数
10         test.outTwoPrime();//任意两数之间的素数
11         
12     }
13 
14     private void outTwoPrime() {
15         System.out.println("\n");
16         System.out.print("请输入两个整数:");
17         int numOne=scanner.nextInt();
18         int numTwo=scanner.nextInt();
19         int primeNum=0,size=1000;
20         int primesNum[]=new int[size];
21         for(int i=numOne;i<=numTwo;i++) {
22             int num=0;
23             
24             for(int j=2;j<i;j++) {
25                 if(i%j==0)
26                     num++;
27             }
28             if(num==0) {
29                 System.out.print(i+"\t");
30                 primeNum++;
31                 
32                 primesNum[primeNum]=i;
33                 //System.out.println(primeNum);
34                 if(primeNum%5==0)
35                     System.out.print("\n");
36             }
37             }
38         //最大及最小的10个
39         
40         System.out.println("\n最小的十个是:");
41         int Num=0;//计数,5换行
42         for(int i=1;i<=10;i++) {
43             System.out.print(primesNum[i]+"\t");
44             Num++;
45             if(Num%5==0) {
46                 System.out.print("\n");
47             }
48         }
49         System.out.println("\n最大的十个是:");
50         for(int i=primeNum;i>primeNum-10;i--) {
51             System.out.print(primesNum[i]+"\t");
52             Num++;
53             if(Num%5==0) {
54                 System.out.print("\n");
55             }
56         }
57     }
58 
59     private void outPrime() {
60         int primeNum=0;
61         for(int i=3;i<=100;i++) {
62             int num=0;
63             
64             for(int j=2;j<i;j++) {
65                 if(i%j==0)
66                     num++;
67             }
68             if(num==0) {
69                 System.out.print(i+"\t");
70                 primeNum=primeNum+1;
71                 //System.out.println(primeNum);
72                 if(primeNum%5==0)
73                     System.out.print("\n");
74             }
75             }
76     }
77 
78 }

大多错误是空间不够,如果素数太多就需要改变空间大小了。

字母统计:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

public class Wordtest {

    public static void main(String[] args) {
        fread("F:\\\\develop\\\\eclipse-workspace\\\\课堂测试(统计单词)(10.11)\\\\Test.txt");
    }

    // 读取文件:
    public static void fread(String fileurl) {
        File file = new File(fileurl);
        BufferedReader bfr = null;
        try {
            bfr = new BufferedReader(new FileReader(file));
            String tem = null;
            String value = "";
            while ((tem = bfr.readLine()) != null) {
                value = value + tem;
            }
            System.out.println(value);
            // 将读取的字符串转换成字符数组:
            char[] c = value.toCharArray();
            // 定义一个map来存储结果:
            // HashMap<Character,Integer> tm = new
            // HashMap<Character,Integer>(Collections.reverseOrder());
            TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>(Collections.reverseOrder());// TreeMap可排序(传入一个反转比较器)

            for (int i = 0; i < c.length; i++) {
                char charSrc = c[i];
                if (tm.containsKey(charSrc)) { // 判断该键的值是否存在
                    int count = tm.get(charSrc);
                    tm.put(charSrc, count + 1);
                } else {
                    tm.put(charSrc, 1);
                }
            }

            // 取出Map中的键和值
            Iterator<Map.Entry<Character, Integer>> titer = tm.entrySet().iterator();
            while (titer.hasNext()) {
                Map.Entry<Character, Integer> map = titer.next();
                char key = map.getKey();
                int valu = map.getValue();
                System.out.println(key + "出现过" + valu + "次!");
            }

        } catch (Exception e) {
            System.err.println("文件读取错误");
        } finally {
            try {
                if (bfr != null) {
                    bfr.close();
                }
            } catch (Exception e2) {
                System.err.println("文件关闭错误");
            }
        }

    }
}

大多是在统计上出现的问题,由于掌握的方法太少,在完成时没有用合理的方法,没有写出完整的程序,最后在网上搜到了正确的方法,才写出来。

还是自己掌握的方法太少了,一遇到新的问题就只能去度娘了。

posted @ 2018-10-14 15:11  masuo  阅读(141)  评论(0)    收藏  举报