java不能从void转换为string

import javax.swing.JOptionPane;public class prymidpattern3 { public static void main(String[] args) { String rownumber=JOptionPane.showMessageDialog(null,"Enter the row"); Integer rowValue=Integer.parseInt(rownumber); for(int i=(rowValue-1);i>=0;i--) { for(int j=rowValue;j>(rowValue-i);j--) System.out.print(" "); for(int j=(rowValue-i);j>=1;j--) System.out.print(j+" "); System.out.println(""); } }}在String rownumber=JOptionPane.showMessageDialog(null,"Enter the row");处提示“不能从void转换为string”,为什么啊?
2026年09月28日 22:30
有5个网友回答
网友(1):

void表示这个函数是没有返回值的,而string是有返回值的函数,这两者之间是不能进行转换的。
JOptionPane.showMessageDialog只是一个弹出消息的对话框,只能起提示或警告作用,不能返回值,如果需要弹出一个供输入数据用的对话框需要别编程序。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

网友(2):

void表示这个函数是没有返回值的,没有值怎么进行数据类型转换呢?

JOptionPane.showMessageDialog只是一个弹出消息的对话框,只能起提示或警告作用,不能返回值,如果你需要弹出一个供输入数据用的对话框需要别编程序。

网友(3):

JOptionPane.showMessageDialog(null,"Enter the row");
要看它返回的是什么类型,我们才能用一个它返回的类型去接受,但一般我们可以用强转,或者用.toString()方法。强转就是(String)JOptionPane.showMessageDialog(null,"Enter the row");

网友(4):

JOptionPane.showMessageDialog方法签名是:
static void showMessageDialog(Component parentComponent, Object message)

它不返回任何值:void,而你在方法调用后赋值给一个String变量,故而报错

网友(5):

JOptionPane.showMessageDialog()是一个方法 并没有返回值 所以你这么写是不对的