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 swing
提供用户输入的示例代码。我有两个对象,一个是主要的,另一个是dialog(),对话框声明了一个名为sample
的变量,我想把它带到main,但是我似乎无法使用变量作为它总是出错。
非常感谢一些建议,谢谢!
答案 0 :(得分:1)
在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;
}
答案 1 :(得分:0)
如果方法返回一个值,则可以在调用方法时捕获它:
public static void main(String[] args) {
// Assign the return value of dialog() to a variable
String sample = dialog();
System.out.println(sample);
}
答案 2 :(得分:0)
只需:
String sample = dialog();
System.out.println(sample);
您必须将返回值分配给变量。
答案 3 :(得分:0)
使用,
System.out.println(dialog());
您正在从方法返回一个字符串。因此,您可以使用System.out.println
如果您希望稍后在程序中使用该值,则可以将其存储在变量中。
您的方法需要注意的一点是,您无法从main方法访问对话框方法的示例变量。
你正在做的另一个逻辑错误,
if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
dialog();
}
如果示例变量的值为空,那么您将尝试再次调用对话框方法。但是您还没有将返回值分配给样本变量。在事件中,如果您调用对话框方法,则样本值仍为空。你可以通过
来纠正它if (sample.isEmpty()) {
JOptionPane.showMessageDialog(null, "Error!", "No Value Detected", JOptionPane.ERROR_MESSAGE);
sample = dialog();
}