我正在制作一个程序,用户将提供他的号码和会计师以及他的姓名,但是它没有运行并且出现错误提示错误:需要不兼容的类型:int found: String
我在我的代码中做错了什么?
import javax.swing.JOptionPane;
public class Capturas{
public static void main(String[]args){
String[]nombre=new String[5];
String auxnombre;
int[]num=new int[5];
int opcionmenu=0;
int capture1;
int ejecutar=0;
int auxnum=0;
int casillas=0;
int x=0;
int error;
int otro=0;
int yaesta=0;
int renglon;
do
{
opcionmenu=JOptionPane.showInputDialog("Ingresa la opcion deseada: \n 1.Captura \n 2.Consulta \n 3.Cambios \n 4.Cancelaciones \n 5.Reinstalacion \n 6.Salida");
if(opcionmenu==1)
{
if(casillas<4)
{
yaesta=0;
auxnum=Integer.parseInt(auxnum=JoptionPane.showInputDialog("Ingresa el numero contable"));
for(x=1; x<=4; x++)
{
if(auxnum==num[x])
{
yaesta=1;
}
}
if(yaesta==1)
{
JOptionPane.showMessageDialog(null, "El numero ya esta registrado");
}
if(yaesta==0)
{
renglon=0;
for(x=1; x<=4; x++)
{
if(nombre[x]!=null)
{
renglon=renglon+1;
}
}
renglon=renglon+1;
num[renglon]=auxnum;
nombre[renglon]=auxnum;
nombre[renglon]=JOptionPane.showInputDialog("Ingresa el Nombre");
casillas=casillas+1;
}
}
}
}
while(opcion!=6);
}
}
您的错误之一在这里:
它应该是这样的
另一个错误在这里:
它应该是这样的:
这些是我发现的与您在问题中指出的错误有关的错误。
您的代码中的错误在这一行:
基本上它的发生是因为
opcionmenu
它是一个 type 的变量int
,它希望您在其中存储一个整数,但是showInputDialog(...)
对象函数JOptionPane
返回一个字符串或string
而不是 aint
,即您在弹出窗口的输入中键入的任何内容,无论是否你输入的是一个数字。要解决它,您只需要尝试解析
string
aint
:只要您键入的是整数,此代码就可以工作。但否则它将失败。为避免这种情况,您应该只处理在这种情况下引发的异常并防止应用程序中断: