首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从试捕中找出一根绳子

从试捕中找出一根绳子
EN

Stack Overflow用户
提问于 2017-07-04 07:06:47
回答 3查看 356关注 0票数 0

我对试捕有个小问题。

我的目标是从try块中获取testtest2值,以便以后使用。

怎么处理?

代码语言:javascript
复制
public class MyApplication {
    public static void main(String[] args) {
        try {
            int test = Integer.parseInt("123");
            String test2 = "ABCD";
        } catch (NumberFormatException ex) {
            System.out.print(ex.getMessage());
        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-04 07:10:50

你写道:

....that我可以稍后再用..。

这取决于以后意味着什么,如果您指的是稍后,但采用相同的方法,则执行以下操作:

代码语言:javascript
复制
public static void main(String[] args) {
    String test2 = "";
    try {
        int test = Integer.parseInt("123");
        test2 = "ABCD";
    } catch (NumberFormatException ex) {
        System.out.print(ex.getMessage());
    }
}

然后,您可以使用这样的方法

代码语言:javascript
复制
test2.isEmpty()

若要检查字符串中的内容是否已更新为ABCD .

如果你指的是以后,但在另一种静态方法中,那就去做。

代码语言:javascript
复制
public class MyApplication  {
    static String test2 = "";
    public static void main(String[] args) {
        try {
            int test = Integer.parseInt("123");
            test2 = "ABCD";
        } catch (NumberFormatException ex) {
            System.out.print(ex.getMessage());
        }
    }
}
票数 4
EN

Stack Overflow用户

发布于 2017-07-04 07:10:36

只需在外部范围中声明它们:

代码语言:javascript
复制
public class MyApplication {

    public static void main(String[] args) {
        int test = Integer.MAX_VALUE; // setting to max value to check if it was set later
        String test2 = null;

        try {
            test = Integer.parseInt("123");
            test2 = "ABCD";
        } catch (NumberFormatException ex) {
            System.out.print(ex.getMessage());
        }
    }
}
票数 4
EN

Stack Overflow用户

发布于 2017-07-04 07:12:10

正如其他人所指出的,您有作用域问题,这意味着变量Test和Test 2是在try-catch块中声明的。由于这些原因,您不能在try-catch块之外访问这个变量。有几种方法可以克服这一点,最简单的方法是在主函数声明或类声明之后声明。

代码语言:javascript
复制
public class MyApplication {

    public static void main(String[] args) {
        int TEST = 0;
        String TEST2 = "";

        try {
            TEST = Integer.parseInt("123");
            TEST2 = "ABCD";
        } catch (NumberFormatException ex) {
            System.out.print(ex.getMessage());
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44899171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档