一个Java编写的英汉词典

一个Java编写的英汉词典,第1张

说先说:你的代码有错误,在最下面,我已经该过了,不是大问题。

如果你想学好java的话,可以根据这个代码加上我的注解去理解,但不要学这个代码的变成方式或者说变成习惯,这个代码基本上无误,但犯了一些常识性问题,如果养成了这些不好的习惯对以后的编程会有坏的影响。

我是英文学的java,所以有些注解可能不通顺,但我尽力而为了。 有的注解有点长,所以你复制到编译器后稍微编辑一下就可以运行。代码是可以运行,没有问题的。

------------------------------------

import javax.swing.*//用来创建图形界面,如窗口,表格,按钮等。

import java.awt.* //作用同上,但已经很少用,能用swing的地方就不要用awt

import java.awt.event.*//事件管理和控制

import java.sql.* //数据库语句和 *** 作

import java.lang.System//这个不知道

/*下面的这6个没有用,纯属写出来吓人*/

import javax.swing.tree.*

import javax.swing.event.*

import java.util.*

import javax.swing.border.*

import javax.swing.table.*

import java.lang.String.*

class Mywindow extends JFrame implements ActionListener//这个类implements actionlistener,意思就是它自己就可以执行actionListener的任务

{

JTextField txf=new JTextField(20)//建一个文字编辑框,长度20(只可以输入一行文字)

JTextArea jt=new JTextArea(10,30)//建一个文字编辑区域,长10宽30(可以回车然后输入多行文字)

JButton btn1=new JButton("查询")//建一个 查询 按钮

Mywindow()//构造函数,每个类必有的,可以为空

{

JFrame frm=new JFrame("Search")//建一个窗口(让其他的东西有地方可放,和容器一样。是3个最高级别的容器之一,其他两个是applet和window)

frm.setBounds(400,300,450,350)//设置大小和位置,前两个是坐标,后两个是大小

Container con=getContentPane()//建一个awt容器对象,用来添加其他元素,最好用这个添加元素。像:frm.add(all)可以写成 con.add(all)

JPanel pnl4=new JPanel()//建一个面板用来添加其他元素(第二级别容器,最后需要被添加在frame上)

pnl4.setBorder(BorderFactory.createTitledBorder("Search"))//设置边框样式

pnl4.add(txf)//把文字编辑框添加到面板上

pnl4.add(btn1)//把按钮添加到面板上

btn1.addActionListener(this)//添加事件行为监听器(this),this意思是当前对象,呼应 implements ActionListener

JPanel pnl5=new JPanel()//同上

pnl5.setBorder(BorderFactory.createTitledBorder("Result"))//同上

jt.setWrapStyleWord(true)//这个忘了

jt.setLineWrap(true)//在区域规定的宽度下,如果文字的输入到一行最后则会自动令其一行继续,如果是(false),文字输入就会在这一行继续知道回车

pnl5.add(new JScrollPane(jt))//个这个面板添加右侧滚动条,当文字输入超过 长* 宽后 滚动条出现

JPanel all=new JPanel()//同上

all.setLayout(new BorderLayout())//设置布局,borderlayout()分东西南北(上下左右)中五个部分 无论窗口多大,中间占得面积最大

all.add(pnl4,BorderLayout.NORTH)//添加一个面板在上面

all.add(pnl5,BorderLayout.CENTER)//添加一个在中间

frm.add(all)//把最大的这个面板添加到窗口上 也可以用con.add(all)

frm.setVisible(true)//设置窗口显示属性 如果false就是不显示

frm.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0)}})//加一个窗口监听 如果点小红叉关闭窗口则系统推出

}

public void actionPerformed(ActionEvent e)//作为ActionListener类的构造函数,如果你的class implements ActionListenser, 那就必须得有这个,也可以单独写一个class,不过有点麻烦

{

if(e.getSource()==btn1)//当按钮被点击的时候

{

String str=""//建一个字符串

String tmp=this.txf.getText()//同上,这个字符串的值是当前对象(窗口)中,文本框输入的值

for(int k=0k<tmp.length()k++)//建一个 永久循环

str+=tmp.charAt(k)+"%"//把 % 插入每一个字符后面, 作用后面说

String sql=null//同上

Statement stmt=null//定义一个stmt,用来建数据库连接的

sql="select * from chinese where charsound like'"+str+"'"//创建一个sql数据库语句,但它本身还是一个字符串

System.out.println(sql)//系统显示创建的语句,通常找错时候用的

try{//try 和 catch 的作用一句两句说不清楚 不知道你就自己查查

Class.forName("com.mysql.jdbc.Driver")//或者:Class.forName("org.gjt.mm.mysql.Driver")关联mysql数据库驱动

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/japan?user=root&password=sa")//建立连接,数据库名japan(为什么不是chinese?)用户名root密码sa

stmt=conn.createStatement()//建立statement对象,用来发送sql语句到数据库

ResultSet rs=stmt.executeQuery(sql)//运行语句并建立一个查询结果的集合

System.out.println("\n------------------------search :"+str+"-------------------------------")//同上

jt.setText("")//清空文本编辑区域

while(rs.next())//while循环,当还有结果的时候,把所有查询结果添加加到文本编辑区域中

{

jt.append(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t")

System.out.print(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t")

}

stmt.close()//关闭关连,很重要。

}

catch(Exception eq){System.out.println("error")}

//--------------------------------------------------------------end btn1-------

}

}

public static void main(String args[])

{

Mywindow win=new Mywindow()//建立一个 mywindow 对象

win.pack()//将所有元素整合

win.show()

}

}

看你用的是哪个软件啊?

如果是MySQL数据库的导入,有两种方法:

1) 先导出数据库SQL脚本,再导入;

2) 直接拷贝数据库目录和文件

在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

2. 方法一 SQL脚本形式

*** 作步骤如下:

2.1. 导出SQL脚本

在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。

2.1.1 用phpMyAdmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的SQL文件保存下来。

2.1.2 用mysqldump命令行

命令格式

mysqldump -u用户名 -p 数据库名 >数据库名.sql

范例:

mysqldump -uroot -p abc >abc.sql

(导出数据库abc到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

2.2. 创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3. 将SQL脚本导入执行

同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。

2.3.1 用phpMyAdmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

# gzip xxxxx.sql

得到

xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。

3 直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

3.1 准备原始文件

用tar打包为一个文件

3.2 创建空数据库

3.3 解压

在临时目录中解压,如:

cd /tmp

tar zxf mydb.tar.gz

3.4 拷贝

将解压后的数据库文件拷贝到相关目录

cd mydb/

cp * /var/lib/mysql/mydb/

对于FreeBSD:

cp * /var/db/mysql/mydb/

3.5 权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown mysql:mysql /var/lib/mysql/mydb/*

chmod 660 /var/lib/mysql/mydb/*

常用的命令有好多啊,你刚开始学,不用特意的去记,用到什么学什么就好了。 当然非要列举,下面列举的100条,是来自百度经验上的。 希望对你有帮助。

 Linux常用命令大全100条:

1,echo “aa” 》 test.txt 和 echo “bb” 》》 test.txt

//》将原文件清空,并且内容写入到文件中,》》将内容放到文件的尾部

2,chmod go+w -R /home/zhangy //给组用户和其他用户添加写的权限

3,tar -tzvf test.tar.gz //列出归档内容

4,du -ah //查看文件列表大小

5,du -sh //查看所有文件的大小总和

6,echo ‘1+2’|bc -l //数学运算

7,uname -a //查看linux内核等的一些信息

8,badblocks -s /dev/sda //坏道扫描时显示进度

9,time command //查看命令的运行时间

10,ls -lrt //按时间的倒序排序

11,rsync -P //同步时显示进度

12.history -c //清楚历史命令

13,cd - //返回上次目录

14,tree //显示目录树

15,umount -n /mnt/hda2 //强制卸载

16,echo ~/ //显示用户的home目录

17,echo $[5*5] //算术运算

18,echo $((5*5)) //算术运算

19,eval lsps aux|grep httpd //这二个命令都能执行

20,free -m //有MB为单位显示内存

21,uptime

//显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载

22,加法运算

[root@krlcgcms01 mytest]# let a=34+3

[root@krlcgcms01 mytest]# echo $a

23,export //查看所有环境变量

24,echo $PATH //查看单个变量

25,cmp file1 file2 //文件内容比对

26,clear //清屏

27,echo 23423 |awk --re-interval ‘/[0-9]{3,}/’ //如果不加re-interval的话,不显示

28,cal //得到一个整齐的日历格式

29,wc -l //统计行数,wc -w 统计单词

30,echo “AaDCbd23” |tr “[A-Z]” “[a-z]” 大写变小写,echo “AaDCbdc23” |tr -c b-d =

将b-d之外的字符串替换成=

31,echo “ADSF” | iconv -f UTF8 -t GBK //把字符由utf8转成gbk

-f是from和简写,-t好像terminal的简写

32,cat -n file //内容的前面会显示行号

33,chattr +i file //只读,root用户也没法对其进行修改

34,lsattr file //查看文件属性

35,cat /etc/passwd |awk -F: ‘{print $1}’ //查看系统中所有用户

36,cat /etc/group //查看系统中所有的组

37,groups //查前当前用户所在的,所有组

38,usermod -g 组名 用户 //这种方式是覆盖的方式,用的时候要小心,如果用户A性于mysql usermod -g php

mysql这样的话只属于php了

39,usermod -G 组名 用户 //这种方式是增加的方式,如果用户A性于mysql usermod -g php

mysql这样的话,mysql就属于2个组了

40,bc //进入数学计算中去

41,umask 003 u权限是7,g权限是7,其他用户是4,也就是774,777-003=774

42,mkfs -t vfat /dev/hda6 //将移动硬盘里面的一个分区格式化成vfat格式

43,mount /dev/cdrom /media/cdrom //挂载cdrom

44,getent group 532 //通过组ID,来查找组信息

45,last //登录成功用户记录

46,lastb //登录不成功用户记录

47,dump -S /dev/sda2 //查看一下要备份/dev/sda2所要的容量

48,dump -0j -f /dev/hda2/sda2_bak.dump.bz2 /dev/sda2 //将sda2进行备份并压缩

49,restore -t -f /dev/hda2/sda2_bak.dump //查看备份信息

50,restore -r -f /dev/hda2/sda2_bak.dump //还原备份

51,fc-list //查看系统中安装的字体

52,find 。/ -type f -exec grep -q “root” {} -exec echo {}

//查找目录下文件所包涵的字符串

53,vmstat 5 //每5显示一下次系统信息,cpu,memory,i/o等

54,top 后 在shift + P 所占进程的排序显示

55,top 后 在shift + M 所占内存的排序显示

56,iptraf -g //查看各个接口的流量

57,ostat -d -x /dev/sda2 2 //用iostat查看磁盘/dev/sda2的磁盘i/o情况,每两秒刷新一次

58, paste -sd ‘|||n’ test //文件的每4行转换成1行,并用|隔开

59,lsof -i :22 //知道22端口现在运行什么程序

60,lsof -c abc //显示abc进程现在打开的文件

61,lsof -p 12 //看进程号为12的进程打开了哪些文件

63,route //查看路由信息

64,ifup //开启网卡

65,ifdown //关闭网卡

66,route del -net 172.168.0.0 netmask 255.255.0.0 dev eth0 //删除

172.168这个网段

67,route add -net 172.168.10.0 netmask 255.255.255.0 dev eth0 //增加一个路由

68,netstat -tunl //列出监听的网络服务端口

69,netstat -tun //列出已连接的网络服务端口

70,nmap -sP 172.30.4.0/24 //在这个网段内有多少用户在我的主机上 *** 作,一个不错的安全检查工具

71,vgdisplay //查看系统中的可用空间

72,lvextend -L+20G /dev/tank/part1 //向part1这个分区增加20G的空间

73,lvresize -L-10G /dev/tank/part2 //向part2这个分区减少10G的空间

74,pvdisplay //查看磁盘信息

75,mplayer -loop 10 /mnt/song/music/花儿开了.mp3 //循环播放10遍

76,pacman -S firefox -nd //nd去掉依赖

77,wget -c //断点下载

78,chroot /mnt/ubuntu //改变根目录到/mnt/ubuntu

79,ctrl+a //命令行下,光标称动到开头

80,ctrl+e //命令行下,光标移动结尾

81,cut -d: -f 1-4 test //用:分割文件,取分割后的1-4列

82,file /home/zhangy/test.php //用于查看文件的一些基本信息

83,touch test.txt //创建一个空文件 text.txt

84,htpasswd -cbd /usr/local/nginx/conf/authfile //创建访问控制文件

85,df //查看磁盘空间,和当前的磁盘数

86,fdisk -l //查看所有磁盘数

87,alsamixer //进入后,m键可以实现静音

88,killall httpd //把所有httpd进程杀掉

89,killall -9 mysqld_safe //有些进程超级用户也停止不了,-9是强制删除

90,mirror /mysql //下载mysql目录

91,mirror -R /mysql //上传mysql目录

92,rmmod pcspkr //关掉tab提示音

93,modprobe pcspkr //开启tab提示音

94,gpasswd -a zhangy wheel //将zhangy这个用户添加到wheel这个组

95,dd if=/dev/zero of=/virtual/ubuntu.virt.img bs=1M count=4096

//创建一个4G的IMG镜像

96,lspic //显示pci设备

97,lsusb //显示usb设备

98,history | less //less根more有点像,感觉less用着更舒服点

99,ln -s //如果忘了-s就变成硬链接了

100,tar zxvf test.tar.gz -C /home/zhangy //将内容解压到指定目录


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8518035.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存