java 这样创建数组类有问题吗??

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:34:13
import javax.swing.*;
import java.io.*;
public class bike
{

int num;
String code;
String address;
bike(String c,String a,int n)
{
this.code=c;
this.address=a;
this.num=n;
}

public static void main(String args[])
{
bike a[]= new bike[3];
String s;
for(int i=0;i<a.length;i++)
{ a[i]=new bike();
s=JOptionPane.showInputDialog("输入code:");
a[i].code=s;
s=JOptionPane.showInputDialog("输入num:");
a[i].num=Integer.parseInt(s);
s=JOptionPane.showInputDialog("输入address:");
a[i].address=s;
}
for(int i=0;i<3;i++)
JOptionPane.showMessageDialog(null,a[i].code+" "+a[i].num+" "+a[i].address);
}
}
这个程序编译不过 提示a[i]=new bike();错误 找不到符号;如错删去编译通过但是没有循环,输入code: 就结束了。请问是什么问题?怎么改?

问题是你的BICK这个类里面没有定义bike()的构造器, 改成如下的代码就对了
import javax.swing.*;
import java.io.*;
public class bike
{

int num;
String code;
String address;
bike(String c,String a,int n)
{
this.code=c;
this.address=a;
this.num=n;
}

public static void main(String args[])
{
bike a[]= new bike[3];
String s;
for(int i=0;i<a.length;i++)
{
a[i]=new bike("code","address",i);
s=JOptionPane.showInputDialog("code:");
a[i].code=s;
s=JOptionPane.showInputDialog("num:");
a[i].num=Integer.parseInt(s);
s=JOptionPane.showInputDialog("address:");
a[i].address=s;
}
for(int i=0;i<3;i++)
JOptionPane.showMessageDialog(null,a[i].code+" "+a[i].num+" "+a[i].address);
}
}

import javax.swing.*;
import java.io.*;
public class bike
{