chaliezhou 2010-05-02 16:19
浏览 296
已采纳

如何将一个类的方法中得到的值传递给另一个类中的方法

小弟分别在两个类中写了两个方法,一个是用来往数据库中添加数据的方法getOracleData(),另一个负责从控制台接收数据的方法getData()。但是如何才能将getData()获得的数据返回给getOracleData()中呢?请各位大大解答!谢谢!

这个是getOracleData()方法,在“DB_Operations”类中
[code="java"] // 抽出添加数据的方法
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();
    }

}[/code]

这个是getData()方法,在Data_IO类中
[code="java"] 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();
    }

}[/code]

展开全部

  • 写回答

1条回答 默认 最新

  • 拽拽的初行者 2010-05-02 23:59
    关注

    汗,最基础的东西。。。。

    [code="java"]
    public static void getOracleAddData(String[] st) throws Exception{

    //String[] st = new String[6]; 删除这一句
    Connection conn = JDBC_Connections.getOracleConnection();

    // 后文不变
    [/code]

    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(st);
    
        }catch(Exception ex){
            ex.printStackTrace();
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 安装anaconda时报错
  • ¥20 如何用Python处理单元格内连续出现的重复词语?
  • ¥15 小程序有个导出到插件方式,我是在分包下引入的插件,这个export的路径对吗,我看官方文档上写的是相对路径
  • ¥20 希望有人能帮我完成这个设计( *ˊᵕˋ)
  • ¥100 将Intptr传入SetHdevmode()将Intptr传入后转换为DEVMODE的值与外部代码不一致
  • ¥50 基于ERA5数据计算VPD
  • ¥15 寻找杂志《Tornatzky, L. G., & Fleischer, M. (1990). The Processes of Technological Innovation. 》
  • ¥15 前台多人编辑时怎么让每个人保存刷新都互不干扰
  • ¥20 如何用Python删除单元格内连续出现的重复词?
  • ¥15 WangEditor嵌入到geeker-admin中,回车没有办法换行