2 t2045817161 t2045817161 于 2016.04.14 12:39 提问

java中 的变量在方法间的传递权限问题

我现在定义了方法1(),在该方法里用了scanner获取了一个整数a,对这个整数进行了相关操作,返回了一个字符串s,但是我现在定义了一个方法2(),该方法要接收方法1()返回的字符串s,该方法同时也要用到方法1()中scanner获取的那个整数a,进行操作后返回一个整数b(b用main()函数接收),那么问题就来了,方法1只能返回一个字符串s,那么方法2()怎么获取方法1()的那个用scanner接收到的整数呢?我的想法是将方法1()中的scanner sc=new scanner(System.in), int a=sc,nextInt();在main()方法中定义,那么这个整数a就在方法1中定义整数a1接收,在方法2中用整数a2接收,可是这么做了后却发现不能接收,报错了,这是为什么?
图片说明

这是我的代码:
package 第一次试验;

import java.util.Scanner;

public class Test22 {
public static void main(String [] args){
int a;
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
}

public static String s1(){
    int a1=a;
}
private int s2(){
    int a2=a;
}

}

6个回答

t2045817161
t2045817161   2016.04.14 12:52

我蒙圈了,作为全局变量的a不是在main()方法中定义的,而是在方法外定义的,只要在类里面,方法外面定义a就行了,在方法里面来接收

t2045817161
t2045817161   2016.04.14 12:52

我蒙圈了,作为全局变量的a不是在main()方法中定义的,而是在方法外定义的,只要在类里面,方法外面定义a就行了,在方法里面来接收

CSDNXIAON
CSDNXIAON   2016.04.14 12:52

【Java】方法和类的权限问题
shell与python间传递变量方法(转)
php网页间变量传递方法
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

sl_18500
sl_18500   2016.04.14 15:10

你的a不是全局变量,全局变量又叫类变量

theSnai1
theSnai1   2016.04.14 15:28

变量a的作用域是定义该变量的最里面一层的大括号,也就是main方法,在s1 s2方法中如果想使用,可以做为参数传入s1。

qq_34108945
qq_34108945   2016.04.14 23:26

你这描述的,看了半天才看懂什么意思。。。。。。。。。。。。。首先方法内的变量属于局部变量,不能跨方法传递,要想传递两种方法,1,s1(int a)
s2(int a)作为参数传进去,2将变量a放到方法外申明,变为全局变量。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!