public class Test{
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、雅安服务器托管、营销软件、网站建设、邯山网站维护、网站推广。
public static String output=" ";
public static void foo(int i){
try{
if(i==1){
throw new Exception();//如果参数为1,抛出异常,进入到catch
}
output+="1";
}catch(Exception e){
output+="2";//如果参数为1,执行这里
return;
}finally{
output+="3";//不管怎样这里都要执行
}
output+="4";//这里是最后一个执行语句,抛出异常就不执行这里
}
public static void main(String[] args){
foo(0);//第一次调用
foo(1);//第二次调用
System.out.println(Test.output);
}
}
/*
* 现在说下执行步骤:output的值我[]括起来
* 第一次调用foo(0):(1)参数为0,所以执行output+="1",那么output现在为[ 1];
* (2)执行到output+="3",那么output现在为[ 13];
* (3)执行到output+="4";那么output现在为[ 134]
* 第二次调用foo(1):(1)执行if里面,抛出异常
* (2)进入到catch,执行output+="2",output现在为[ 1342]
* (3)进入finally,执行output+="3", output现在为[ 13423]
*/
// 定义一个类,继承与JFrame窗体类
public class HttpViewer extends JFrame {
//定义文本框
private JTextField urlInput;
//定义文本区域
private JTextArea viewArea;
//程序入口,一切从这里开始运行
public static void main(String[] args) {
//定义HttpViewer对象,对象定义后自动运行对象所属类的构造函数
new HttpViewer();
}
//类的构造函数
public HttpViewer() {
//定义窗体标题
this.setTitle("Http Viewer");
//定义窗体大小
this.setSize(800, 600);
//能不能调整大小:不行
this.setResizable(false);
//窗体只有关闭按钮
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//调用下面的方法
initPanel();
//调用下面的方法
initAction();
//显示窗体
this.setVisible(true);
}
// 这个方法用来设置窗口布局
private void initPanel() {
//定义一个面板
JPanel northPanel = new JPanel();
//定义一个文本标签,显示 的文字URL
JLabel urlInputLabel = new JLabel("URL:");
//前面定义的文本框的大小
urlInput = new JTextField(60);
//把标签放在面板里
northPanel.add(urlInputLabel);
//把文本框放在面板里
northPanel.add(urlInput);
//把面板放在床体里,位置在北
this.add(northPanel, BorderLayout.NORTH);
//定义另一个面板
JPanel centerPanel = new JPanel();
//定义文本区域
viewArea = new JTextArea(27, 60);
//文本区域放在面板里
centerPanel.add(new JScrollPane(viewArea));
//面板放在窗体里
this.add(centerPanel);
}
/////////// 你给的时间太少了,写不完剩下的注释
// 这个方法用来设置事件
private void initAction() {
//为文本框加事件监听器
urlInput.addActionListener(new ActionListener() {
//每次时间发生后
public void actionPerformed(ActionEvent e) {
//获取文本框的值
String text = urlInput.getText();
//看看是不是空的
if (text == null || text.length() == 0) {
//空的话文本区域显示你没有输入URL
viewArea.setText("您没有输入URL");
//函数退出
return;
}
try {
//定义URL对象,为了访问网络,他的值就是文本框的网址
URL url = new URL(text);
//调用getContent方法获取网站的html代码
String context = getContent(url);
if (context != null) {
//如果获取的不是空的话,运行searchFromText方法,参数是context
searchFromText(context);
}
//如果发生异常,比如这电脑根本没网之类的
} catch (MalformedURLException e1) {
//文本区域中现显示下面的文字
viewArea.setText("您输入的URL不合法:" + text);
}
}
});
}
//这个方法是要发送网站访问请求
private String getContent(URL url) {
//定义一个字符流
StringBuffer builder = new StringBuffer();
//定义服务器状态代码变量,200为正常,4xx,5xx,3xx都是错误
int responseCode = -1;
//定义http请求类
HttpURLConnection con = null;
try {
//按照获取的网址链接网站
con = (HttpURLConnection) url.openConnection();
//以火狐浏览器的方式发送请求。。 模拟windows电脑上的火狐浏览器想访问这个网页
con.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");// IE代理进行下载
//发送连接请求后过1分钟没响应的话拉倒
con.setConnectTimeout(60000);
//连接成功后1分钟都读不完网站代码的话拉倒
con.setReadTimeout(60000);
// 获得网页返回信息码(就是前面的状态)
responseCode = con.getResponseCode();
//如果连接失败,所以那个-1一直没变
if (responseCode == -1) {
//连接失败的话,文本区域显示下面的文字
viewArea.setText("连接失败:" + url.toString());
return null;
}
//如果发生错误
if (responseCode = 400) {
//发生错误的话,文本区域显示下面的文字
viewArea.setText("请求失败,错误码:" + responseCode);
return null;
}
//定义输入流,把读出来的网页代码保存起来
InputStream is = con.getInputStream();
//输入流读出来,放在isr上
InputStreamReader isr = new InputStreamReader(is);
//又把他放在缓存上
BufferedReader br = new BufferedReader(isr);
//定义文本变量
String str = null;
//如果行存在的话
while ((str = br.readLine()) != null)//一行一行的读,把读的值给str
//把str上的一行文字加到builder上
builder.append(str);
//输入流关闭
is.close();
//如果异常,就抛出
} catch (IOException e) {
e.printStackTrace();
//文本区域显示下面文字
viewArea.setText("IOException: " + url.toString());
} finally {
//无论发生错误还是不发生 最终把链接关闭
con.disconnect();
}
//返回builder
return builder.toString();
}
//这个方法是用正则表达式从获取的网页源码中找到a标签里的链接网址
private void searchFromText(String context) {
viewArea.setText("查找URL中:\n");
Pattern pattern = Pattern.compile("a( [^]+)*(.*?)/a");
Matcher matcher = pattern.matcher(context);
while (matcher.find()) {
for (String prop : matcher.group(1).split(" ")) {
int indexOf = prop.indexOf('=');
if (indexOf 0) {
if (prop.substring(0, indexOf).equals("href")) {
String url2 = prop.substring(indexOf + 2, prop.length() - 1);
viewArea.append(url2 + "\n");
}
}
}
}
}
}
没有翻译软件,但是能编写翻译程序。
java 代码翻译实例:
1.输入一个以’@’结束的字符串,从左至右翻译。若下一个字符是数字n(0≤n≤9),表示后一个字符重复n+1 次,不论后一个字符是否为数字;若下一个字符非数字,则表示自己。
2.翻译后,以3 个字符为一组输出,组与组之间用空格分开。
例如’A2B5E34FG0ZYWPQ59R@’,翻成’ABB_BEE_EEE_E44_44F_GZY_WPQ_999_999_R@ ’。
3.分析:首先直接遍历数组把字符串按要求进行翻译,然后将翻译后的字符串进行分组形成字符串数组,最后把字符串数组用下划线连接输出。
java翻译源代码:
import java.util.Scanner;
public class Main5{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
int length = s.length();
String result = "";
char[] str = new char[length]
for (int i = 0; i length; i++) {
str[i] = s.charAt(i);
}
result += str[0];
if (str[length - 1] != '@') {
System.out.println("输入有误!");
} else {
for (int index = 0; index length - 1;) {
if ('0' == str[index + 1] || '1' == str[index + 1] || '2' == str[index + 1] || '3' == str[index + 1]
|| '4' == str[index + 1] || '5' == str[index + 1] || '6' == str[index + 1]
|| '7' == str[index + 1] || '8' == str[index + 1] || '9' == str[index + 1]) {
for (int i = 0; i ((Integer.parseInt(str[index + 1]+"")) + 1); i++) {
result += str[index + 2];
}
index += 2;
} else {
result += str[index + 1];
index++;
}
}
}
System.out.println(getGroup(result));
}
//每3个分一组
public static String getGroup(String s){
String[] r;
if(s.length()%3 == 0){
r = new String[s.length()/3];
}else{
r = new String[s.length()/3+1];
}
String result = "";
int j = 0;
for(int i=0;is.length();){
if(i+3 = s.length()){
r[j]=s.substring(i, i+3);
j++;
i += 3;
}else{
r[j] = s.substring(i);
j++;
i += 3;
}
}
for(int i=0;ir.length-1;i++){
result += (r[i]+"_");
}
result += r[r.length-1];
return result;
}
}
php不是strong type, 你可以试一下,我也说不好。
$arr = str_split($str);
for ($i = 0; $i count($arr); $i ++ ){
$arr[$i]^=33;
$arr[$i]^=17;
$arr[$i]^=49;
if ($i %2 == 0 ){
$arr[$i]^=79;
}
if ($i % 3 == 0) {
$arr[$i] ^= 11;
}
}
同意楼上的,繁体的这个功能有,是通过JS来实现的,你可以在网上搜下,应该可以搜到。
英文的这个功能是没有的,除非你对应于每一个中文页面再写一个相对应的英文。网上的一些这样的功能(如遨游浏览器就有这个功能),但翻译十分的不准确,因为电脑始终是死的。
使用java提供的国际化功能就可以了。不过建议你使用框架技术中的国际化,框架技术中的国际化都做过封装,实现起来相对简单的多。只需要简单的配置就可以实现中英文或者其他语言的切换了!~