derrickie
derrickie
采纳率33.3%
2017-08-23 09:51

java局部变量问题求助,急!!!

public static void A(String request){
String aa = "";
switch(request){
case "1":
B(aa);
break;
case "2":
aa = "10";
break;
}
}

private static void B(String str) {
    System.out.println("aa=" + str);
}

代码如上,我的需求是想要在B方法中拿到执行A(“2”)时候初始化的aa的值
求助大神。急!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答

  • sj18182656342 黄河默默 4年前

    要看你用什么版本的jdk 不同版本的jdk 对switch的条件 类型 有限定 比如比较老的jdk1.5 switch就不支持String类型
    再说 你的逻辑 不是很清楚 也不知道你想干啥

    点赞 评论 复制链接分享
  • jasonwang2014 jasonwang2014 4年前

    A 方法添加返回值 String ---> return aa;
    B 方法直接 获取A("2")--->aa

    点赞 评论 复制链接分享
  • PandaVII PandaVII 4年前

    A 方法添加返回值 String ---> return aa;
    B 方法直接 获取A("2")--->aa

    点赞 评论 复制链接分享
  • gentryhuang gentryhuang 4年前

    类名.B(类名.A("2"));

    点赞 评论 复制链接分享
  • u012533102 SevAS 4年前

    1.可以封装一个功能,通过返回类型参数传递,比如:
    privte String show1(){return aa;}
    private void show2(String str){...}
    ...main(args){show2(show1());}
    2.直接aa作为全局变量初始化

    点赞 评论 复制链接分享
  • lingyunzhicc lingyunzhicc 4年前

    图片说明
    在一个类中是不能调用另外一个类方法中定义的局部变量的,若想调用可以按以下几种方法做:
    1、将局部变量定义为类中的成员变量,然后通过对象来调用。
    2、将局部变量用final关键字定义为常量,然后通过类名.常量名来调用。
    3、若方法的返回值是void,可以修改方法的返回值类型为局部变量的类型, 然后在方法的最后加上一句 return 局部变量;就可以通过调用此方法来获得该局部变量。这里可以用第三种方法。

    点赞 评论 复制链接分享
  • zy_281870667 Bug开发攻城狮 4年前

    图片说明

    点赞 评论 复制链接分享
  • liuquanfeng92 一克拉水晶 4年前

    switch()括号内只能为int,short,long,char类型吧

    点赞 评论 复制链接分享
  • qq_34658785 卖太妃糖的古尔丹 4年前

    啥子意思

     A("2");
     A("1");
    

    然后希望B方法输出的是10?

    点赞 评论 复制链接分享
  • qq_38036631 妈咿呀嘿 4年前

    在main方法中,类名.B 就能取出了。

    点赞 评论 复制链接分享