[英]Java accessing another variable
package javaapplication1;
import javax.swing.JOptionPane;
public class Room{
public static void main(String[] args) {
dialog();
System.out.println(sample);
}
public static String dialog() {
String sample = JOptionPane.showInputDialog(null, "Insert Value", "Enter amount ", JOptionPane.QUESTION_MESSAGE);
if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
dialog();
}
System.out.println(sample+" from the bottom line.");
return sample;
}
大家好,
就从另一个object
调用一个变量而言,目前我似乎正面临着Java问题。 在上面的代码之后,它是一个示例代码,它使用java swing
提供用户输入。 我有2个对象,一个是main,另一个是dialog(),dialog已经声明了一个名为sample
的变量,我想将其带到main,但是我似乎无法使用该变量,因为它总是会出错。
希望得到一些建议,谢谢!
在main方法中用作String sample = dialog();
或全班
package javaapplication1;
import javax.swing.JOptionPane;
public class Room{
public static void main(String[] args) {
String sample = dialog();
System.out.println(sample);
}
public static String dialog() {
String sample = JOptionPane.showInputDialog(null, "Insert Value", "Enter amount ", JOptionPane.QUESTION_MESSAGE);
if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
dialog();
}
System.out.println(sample+" from the bottom line.");
return sample;
}
如果某个方法返回一个值,则可以在调用该方法时捕获它,如下所示:
public static void main(String[] args) {
// Assign the return value of dialog() to a variable
String sample = dialog();
System.out.println(sample);
}
只是:
String sample = dialog();
System.out.println(sample);
您必须将返回值分配给变量。
采用,
System.out.println(dialog());
您正在从方法中返回一个字符串,因此可以使用System.out.println
直接打印该值
如果要稍后在程序中使用该值,则可以将其存储在变量中。
方法中要注意的一件事是,您不能从主方法访问对话框方法的样本变量。
您正在做的另一个逻辑错误,
if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
dialog();
}
如果样本变量的值为空,则在此处尝试再次调用dialog方法。 但是您尚未将返回值分配给sample变量。 发生这种情况时,您调用对话方法时,样本值仍然为空。 您可以通过以下方式进行更正:
if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
sample = dialog();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.