将百度百科的机器学习词条中的一段关于机器学习的demo改用Java写了一遍
这是引用的百度百科中关于机器学习的一段示例,讲述了通过环境影响来进行学习的例子。
下面是代码:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class JavaX { public static void main(String[] args) { System.out.println("1+1=2吗?请告诉我!"); int ladd = 0,radd = 0,aprs = 0,rcnt = 0,wcnt = 0;//定义输入与结果,正确次数与错误次数 System.out.println("开始学习..."); for(int i=0;i!=5;i++){ System.out.println("参数1(必须是1):");//提示输入参数 try { ladd = input(ladd,true); } catch (IOException e) { System.out.println("参数1 input失败"); e.printStackTrace(); } System.out.println("参数2(必须是1):");//提示输入参数 try { radd = input(radd,true); } catch (IOException e) { System.out.println("参数2 input失败"); e.printStackTrace(); } System.out.println("结果:"+(ladd + radd));//输出结果 System.out.println("您对这满意吗(满意输入1,不满意输入0):");//评价等级 try { aprs = input(aprs,false); } catch (IOException e) { System.out.println("评价等级 input失败"); e.printStackTrace(); } //判断用户评价 if (aprs == 1) { ++rcnt; } else { ++wcnt; } System.out.println("正确次数:"+rcnt+"错误次数:"+wcnt);//错误次数 } if(rcnt > wcnt) {//判断学习结果,就是判断回答正确的次数 System.out.println("主人告诉我1+1=2。"); } else if(rcnt < wcnt) { System.out.println("主人告诉我1+1!=2。"); } else { System.out.println("我不明白主人是什么意思。"); } int term = 0;//退出部分 System.out.println("您对我的表现满意吗?满意请输入1不满意请输入0:"); try { term = input(term,false); } catch (IOException e) { System.out.println("退出部分 input失败"); e.printStackTrace(); } if (term == 1) { System.out.println("谢谢我会继续努力学习"); } else { System.out.println("谢谢我会继续努力学习 D"); } } public static int input(int oper,Boolean meth) throws IOException { while(true){ BufferedReader strin = new BufferedReader(new InputStreamReader(System.in)); String str = strin.readLine(); try { oper = Integer.parseInt(str); } catch (NumberFormatException e) { System.out.println("字符串转数字异常"); oper = 0; } if(meth && oper == 1){ return oper; } else if(oper==0||oper==1){ return oper; } System.out.println("输入错误,请重新输入。"); } } }