黑马程序员技术交流社区
标题:
如何进行两个类间的值传递
[打印本页]
作者:
张凯
时间:
2012-7-22 17:31
标题:
如何进行两个类间的值传递
小弟分别在两个类中写了两个方法,一个是用来往数据库中添加数据的方法getOracleData(),另一个负责从控制台接收数据的方法getData()。但是如何才能将getData()获得的数据返回给getOracleData()中呢?
这个是getOracleData()方法,在“DB_Operations”类中
// 抽出添加数据的方法
public static void getOracleAddData() throws Exception{
String[] st = new String[6];
Connection conn = JDBC_Connections.getOracleConnection();
String sql = "{call PRO_STU_ADD(?,?,?,?,?,?)}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.clearBatch();
try{
//将学号数据转整形
int i = Integer.parseInt(st[0]);
//将分数数据转浮点型
float f1 = Float.parseFloat(st[2]);
float f2 = Float.parseFloat(st[3]);
float f3 = Float.parseFloat(st[4]);
float f4 = (f1+f2+f3)/3;
cstmt.setInt(1,i);
cstmt.setString(2,st[1]);
cstmt.setFloat(3,f1);
cstmt.setFloat(4,f2);
cstmt.setFloat(5,f3);
cstmt.setFloat(6,f4);
//提交数据缓冲
cstmt.addBatch();
//提交数据
conn.commit();
System.out.println("数据插入成功!");
}catch(Exception ex){
ex.printStackTrace();
}
}
复制代码
这个是getData()方法,在Data_IO类中
public void getData() throws Exception{
try{
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
st[0] = sc.nextLine();
System.out.println("请输入姓名:");
st[1] = sc.nextLine();
System.out.println("请输入语文分数:");
st[2] = sc.nextLine();
System.out.println("请输入数学分数:");
st[3] = sc.nextLine();
System.out.println("请输入英语分数:");
st[4] = sc.nextLine();
DB_Operations.getOracleAddData();
}catch(Exception ex){
ex.printStackTrace();
}
}
复制代码
作者:
黑马-李勇
时间:
2012-7-22 17:51
想法:
1,调用时传参数,将数据传入。
2,文件方式,如配置文件,getdata中写入一个数据临时文件,在getOracleAddData中读取数据临时文件
不一定对。仅供参考{:soso_e113:}
作者:
李东升
时间:
2012-7-22 19:09
可以是另外一个类中声明一个静态的,需要传值类型的变量,赋值的时候,直接类名点变量名,使用的时候,也可以类名点变量名出来。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2