EHAAA 发表于 2015-12-11 21:28:50

求助用java做一个简单的翻译软件

学期项目被分到文本编辑器的翻译功能,老师只说去网上下载相关的api完成,要求25日前交整个程序。
github上看过很多代码但缺少注释看不懂,求助    万分感谢

西门 发表于 2016-1-12 22:44:30

攒人品,给你翻译一下那份英文要求吧!
1.设计一个应用的用户接口,该接口要让用户觉得友好。
2.提供用户接口,需要有下列文件菜单选项:新建、打开、保存、另存为、退出 //软件的界面左上方有个“文件”菜单,点一下,下面出现一列选项,分别为:新建、打开、保存、另存为、退出。
3.提供用户接口,需要有下列编辑菜单选项:剪切、复制、粘贴、删除、查找、替换、查找下一个。
4.提供用户接口,需要有下列定制菜单选项:字体、语言翻译。
5.提供用户接口,需要有下列帮助菜单选项:版本、版权(作者)
6.根据整篇文章的单词选取一个一致的和合适的翻译。
……

EHAAA 发表于 2015-12-11 21:44:37

界面我想做成这样

0xAA55 发表于 2015-12-12 01:11:54

翻译的话,你可以借用谷歌或者百度的翻译引擎。我可以提供一个思路,就是通过访问谷歌翻译的页面,来提交你要翻译的内容,然后再从页面中取得翻译好的内容。或者你使用post将要翻译的内容发到谷歌翻译引擎,然后再接收。
使用HTML相关的类可以实现,具体的话。。。还得靠你亲自去实践。
建议不要着急,一步一步来。

EHAAA 发表于 2015-12-12 07:00:10

好的,我去试试

EHAAA 发表于 2015-12-28 22:02:14

这是控制台程序,调用有道api,post提交



import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Scanner;

public class TestPost {

    public static void main(String[] args) {
      new ReadByPost().start();
    }

}

class ReadByPost extends Thread {

    @Override
    public void run() {
      try {

            URL url = new URL("http://fanyi.youdao.com/openapi.do");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.addRequestProperty("encoding", "UTF-8");
            connection.setDoInput(true);
            connection.setDoOutput(true);

            connection.setRequestMethod("POST");

            OutputStream os = connection.getOutputStream();
            OutputStreamWriter osw = new OutputStreamWriter(os);
            BufferedWriter bw = new BufferedWriter(osw);
            
         
            Scanner in = new Scanner(System.in);
            String text = "keyfrom=fadabvaa&key=522071532&type=data&doctype=json&version=1.1&q=" + in.nextLine();
            bw.write(text);
            bw.flush();

            InputStream is = connection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is, "UTF-8");
            BufferedReader br = new BufferedReader(isr);

            String line;
            StringBuilder builder = new StringBuilder();
            while ((line = br.readLine()) != null) {
                String[] arr = line.split("]");
                for (int i = 0; i < arr.length; i++) {
                  if (arr.contains("translation")) {
                        System.out.println(arr.substring(17, arr.length()-1));
                  }
                }

            }

            bw.close();
            osw.close();
            os.close();

            br.close();
            isr.close();
            is.close();

      } catch (MalformedURLException e) {
            e.printStackTrace();
      } catch (IOException e) {
            e.printStackTrace();
      }
    }
}

EHAAA 发表于 2015-12-28 22:12:37

带界面的程序。
书写习惯不好,和上面比对者看吧

半懵半懂 发表于 2018-7-22 13:13:31

长见识了顶~~~~~~~~~~~~

besteast 发表于 2018-9-16 17:15:20

:):):):):):)
页: [1]
查看完整版本: 求助用java做一个简单的翻译软件