素数输出:
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(" "); 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+" "); 30 primeNum++; 31 32 primesNum[primeNum]=i; 33 //System.out.println(primeNum); 34 if(primeNum%5==0) 35 System.out.print(" "); 36 } 37 } 38 //最大及最小的10个 39 40 System.out.println(" 最小的十个是:"); 41 int Num=0;//计数,5换行 42 for(int i=1;i<=10;i++) { 43 System.out.print(primesNum[i]+" "); 44 Num++; 45 if(Num%5==0) { 46 System.out.print(" "); 47 } 48 } 49 System.out.println(" 最大的十个是:"); 50 for(int i=primeNum;i>primeNum-10;i--) { 51 System.out.print(primesNum[i]+" "); 52 Num++; 53 if(Num%5==0) { 54 System.out.print(" "); 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+" "); 70 primeNum=primeNum+1; 71 //System.out.println(primeNum); 72 if(primeNum%5==0) 73 System.out.print(" "); 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("文件关闭错误"); } } } }
大多是在统计上出现的问题,由于掌握的方法太少,在完成时没有用合理的方法,没有写出完整的程序,最后在网上搜到了正确的方法,才写出来。
还是自己掌握的方法太少了,一遇到新的问题就只能去度娘了。