利用搜索引擎实现命令行计算器

简介: //利用搜索引擎实现命令行计算器import java.io.*;import java.net.*;/*** 54powerman* http://54powerman.

//利用搜索引擎实现命令行计算器
import java.io.*;
import java.net.*;
/**
* 54powerman
* http://54powerman.blog.sohu.com
**/
public class Cal
{
 final static String defaultCharset=System.getProperty("file.encoding");
 public static void main(String args[])
 {
  String express=null;
  if(args.length<1)
  {
   System.out.println("[Usage]: java Cal [expressions]");
   return;
  }
  express=args[0].trim();
  String url=null;
  try{
   url="http://www.baidu.com/s?wd="+java.net.URLEncoder.encode(express,defaultCharset)+"&cl=3";
  }
  catch(UnsupportedEncodingException e){}
  String result=OpenUrl(url,"");
  int start=result.indexOf("http://img.baidu.com/img/jsq.gif");
  if(start>0){
   int end=0;
   start=result.indexOf("<b>"+express,start);
   start=result.indexOf("=",start)+1;
   end=result.indexOf("</b>",start);
   result=result.substring(start,end).trim();
  }
  if(result.indexOf("/n")>0)
  {
   System.out.println("express error.");
  }
  else
  {
   System.out.print(result);
  }
 }
 public static String OpenUrl(String urlString,String postParam) {
   StringBuffer document = new StringBuffer();
   try {
  URL url = new URL(urlString);
  URLConnection conn = url.openConnection();
  if(!postParam.trim().equals("")){
   conn.setDoOutput(true);
   OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), defaultCharset);
   out.write(postParam);
   out.flush();
   out.close();
  }
  BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  String line = null;
  while ( (line = reader.readLine()) != null) {
    document.append(line + "/n");
  }
  reader.close();
   }
   catch (MalformedURLException e) {
  System.out.println("Unable to connect to URL: " + urlString);
   }
   catch (IOException e) {
  System.out.println("IOException when connecting to URL: " + urlString);
   }
   return document.toString();
  }

}

目录
相关文章
|
3月前
|
安全 Serverless Python
用Python实现计算器功能
用Python实现计算器功能
29 1
|
3月前
|
缓存 网络协议 前端开发
终极解密输入网址按回车到底发生了什么
终极解密输入网址按回车到底发生了什么
45 1
|
3月前
|
前端开发
好看的前端计算器代码分享(html+css+js制作计算器)
好看的前端计算器代码分享(html+css+js制作计算器)
34 0
|
7月前
一个计算器器脚本
一个计算器器脚本
30 1
|
10月前
|
Java 数据安全/隐私保护 容器
背记不如实战系列-javaGUI实例-计算器制作
背记不如实战系列-javaGUI实例-计算器制作
74 0
|
11月前
|
机器学习/深度学习 人工智能 计算机视觉
生成视频如此简单,给句提示就行,还能在线试玩
生成视频如此简单,给句提示就行,还能在线试玩
|
12月前
计算器(简易版)
另一种是利用转移表的方式来写,将各个函数的地址存放在一个函数指针数组里面,当要使用函数时,就直接调用指针即可,可以改观上面的美观(上面的代码有很多重复的,太挫了)
70 0
|
Python
python实现简单的计算器 带界面
python实现简单的计算器 带界面
189 0
python实现简单的计算器 带界面
|
存储 Python
python小玩意——计算器
python小玩意——计算器
python小玩意——计算器
|
前端开发 PHP
实训项目:PHP计算器功能程序实现
  设计一个网页,让用户输人一个运算式,采用下拉列表提供“加、减、乘、除、模(%)”至少4种运算符。当用户单击“求值”按钮时,自动计算结果并显示出提示信息(可以是弹框显示结果,也可以是在浏览器的页面显示结果。
124 0
实训项目:PHP计算器功能程序实现