扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.取得脚本解释器的管理器Manager
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出柞水免费做网站回馈大家。
2.从管理器中取得js的解释器实例ScriptEngine
3.取得存储javascript变量的Bindings实例
4.把一个java.io.Reader流及Bindings传递给ScriptEngine的eval方法返回脚本运行结果,如果执行中发生错误,会抛出ScriptException异常。
例:运行javascript脚本的一个java程序
throwsIOException{ScriptEngineManagerscriptManager=newScriptEngineManager;//从管理器中获取js的解释器//定义我们要运行的脚本文件Stringfilename=null;//通过解释器来获得存储javascript变量的Bindings的实例,使它们提供给脚本。Bindingsbindings=js.createBindings;//在map中获取和设置值的方法publicObjectget;//使用我们的name/value对(即javascript变量)Bindingsbindings=newSimpleBindings(defaults);//创建一个变量,用于存放脚本执行的内容ScriptContextcontext=newSimpleScriptContext();//设置那些Bindings在Context中,使它们可读。但这样的变量定义的脚本不要放入我们的Map中context.setBindings(bindings,ScriptContext.GLOBAL_SCOPE);BufferedReaderin=newBufferedReader(newFileReader(filename));Stringline;while((line=in.readLine())!=null){line=line.trim();if(line.length()==0)continue;//跳过空行if(line.charAt(0)==‘#‘)continue;//跳过命令intpos=line.indexOf(":");if(pos==-1){thrownewIllegalArgumentException("syntax:"+line);}Stringname=line.substring(0,pos).trim();Stringvalue=line.substring(pos+1).trim();charfirstchar=value.charAt(0);intlen=value.length();charlastchar=value.charAt(len-1);if(firstchar==‘"‘lastchar==‘"‘){//双引号引用的值为字符串defaults.put(name,value.substring(1,len-1));}elseif(Character.isDigit(firstchar)){//如果开始是一个数字try{doubled=Double.parseDouble(value);defaults.put(name,value);}catch(NumberFormatExceptione){//没有数字,是一个stringdefaults.put(name,value);}}elseif("true".equals(value)){//处理布尔值defaults.put(name,Boolean.TRUE);}elseif("false".equals(value)){defaults.put(name,Boolean.FALSE);}elseif("null".equals(value)){//处理null值defaults.put(name,null);}elseif(firstchar==‘{‘lastchar==‘}‘){//如果值是在一对大括号之内,则执行javascript代码Stringscript=value.substring(1,len-1);Objectresult=engine.eval(script,context);defaults.put(name,result);}else{//其它情况,刚好是一个字符串defaults.put(name,value);}}}//一个简单的类的测试程序publicstaticvoidmain(String[]args)throwsIOException,ScriptException{Configurationdefaults=newConfiguration();defaults.load(args[0]);Set
首先要使用到从控制台输入
scanner
sc
=
new
scanner(system.in);
然后使用可变参数和累加,当然你需要有输入完成的标记,比如输入的为0时结束,求之前所有数的和
public
int
getsum(int...
num){
int
result
=
0;
for(int
n
:
a){
result
+=
n;
}
return
result;
}
Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);
//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.ResultSet;
import java.sql.SQLException;
import
java.sql.Statement;
import java.util.ArrayList;
public class ConnDb {
public Connection startConn(Connection conn){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:数据库","用户名", "密码");
} catch (Exception e) {
System.out.println("连接数据库时出现错误");
}
return conn;
}
public ArrayList executeQuery(String sql){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ArrayList list = new ArrayList();
try {
conn = startConn(conn);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);//sql为sql语句例如"select * from
表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来
while(rs.next()){
TestBean tb = new TestBean();
tb.setTid(rs.getString("tid"));
tb.setTname(rs.getString("tname"));
tb.setTinfo(rs.getString("tinfo"));
list.add(tb);
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
return list;
}
public void executeUpdate(String sql){
Connection conn = null;
Statement stmt = null;
try {
conn =
startConn(conn);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch (SQLException e) {
System.out.println("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
public void closeConn(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs !=
null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch
block
System.out.println("关闭数据库的时候发生错误!");
}
}
public void closeConn(Statement stmt,Connection conn){
try {
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("关闭数据库的时候发生错误!");
}
}
}
Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法//以下是ConnDb代码:package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;public class ConnDb {public Connection startConn(Connection conn){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:数据库","用户名", "密码"); } catch (Exception e) { System.out.println("连接数据库时出现错误"); } return conn; } public ArrayList executeQuery(String sql){ Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList list = new ArrayList(); try { conn = startConn(conn); stmt = conn.createStatement(); rs = stmt.executeQuery(sql);//sql为sql语句例如"select * from 表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来 while(rs.next()){ TestBean tb = new TestBean(); tb.setTid(rs.getString("tid")); tb.setTname(rs.getString("tname")); tb.setTinfo(rs.getString("tinfo")); list.add(tb); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ closeConn(rs,stmt,conn); } return list; } public void executeUpdate(String sql){ Connection conn = null; Statement stmt = null; try { conn = startConn(conn); stmt = conn.createStatement(); stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("修改,插入或者删除数据库数据时发生错误!"); }finally{ closeConn(stmt,conn); } } public void closeConn(ResultSet rs,Statement stmt,Connection conn){ try { if(rs != null){ rs.close(); } if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("关闭数据库的时候发生错误!"); } } public void closeConn(Statement stmt,Connection conn){ try { if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("关闭数据库的时候发生错误!"); } }}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流