黑马程序员技术交流社区

标题: 如何把数据传递给对象数组? [打印本页]

作者: zgjswp    时间: 2015-3-11 21:29
标题: 如何把数据传递给对象数组?
我想把信息传递给一个对象数组,应该怎么传?
  1. class Person{
  2. String name;
  3. int age;
  4. Person(String name,int age){
  5. this.name=name;
  6. this.age=age;
  7. }
  8. //省略name、age的set和get方法
  9. }
  10. public static mian(String[] args){
  11. Person[] p=new Person[3];
  12. //接下来怎么赋值,求教


  13. }
复制代码

输入的数据可用逗号或者空格分开,求教了


作者: 杨强彪    时间: 2015-3-11 21:43
package com.bixiangdong.day2;

public class Test2 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Person[] p=new Person[3];
                //接下来怎么赋值,求教
                p[0]=new Person("小明",13);
                p[1]=new Person("小红",12);
                p[2]=new Person("小黄",12);
                p[3]=new Person("小军",12);

        }

}
class Person{
        String name;
        int age;
        Person(String name,int age){
        this.name=name;
        this.age=age;
        }
        //省略name、age的set和get方法
}


数组-小结.JPG (154.18 KB, 下载次数: 108)

数组-小结.JPG

作者: zgjswp    时间: 2015-3-11 21:44
杨强彪 发表于 2015-3-11 21:43
package com.bixiangdong.day2;

public class Test2 {

我的意思是手工输入赋值,不是初始化赋值方式
作者: 杨强彪    时间: 2015-3-11 22:29
zgjswp 发表于 2015-3-11 21:44
我的意思是手工输入赋值,不是初始化赋值方式

用个
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
String anniu=br.readLine(); 就完事
作者: zgjswp    时间: 2015-3-12 00:07
杨强彪 发表于 2015-3-11 22:29
用个
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
String anniu=br.rea ...

你这是简单的输入啊,我知道。
关键是要把输入的字段分配给每个person的name和age属性,该怎么写
作者: 杨强彪    时间: 2015-3-12 09:49
package com.bixiangdong.day2;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test2 {

        /**
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub
                Person[] p=new Person[3];
                int n=0;

                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                while(true)
                {
                        System.out.println("请选择你要进行的操作:");
                        System.out.println("A:添加成员");
                        System.out.println("F:退出系统");
                       
                        String anniu=br.readLine();                                  //键盘输入代码
                        if(anniu.equals("A"))
                        {
                                if(n<4)
                                {
                                    System.out.println("请输入姓名:");
                                    String name=br.readLine();
                                    System.out.println("请输入年龄:");
                                    int age=Integer.parseInt(br.readLine());
                                    p[n]=new Person(name,age);
                                    n++;
                                    System.out.println("添加成功");
                                }else{
                                        System.out.println("数组添加满了");
                                }
                               

                }else if(anniu.equals("F"))
                        {
                                System.exit(0);
                        }


        }
}
}
class Person{
        String name;
        int age;
        Person(String name,int age)
        {
        this.name=name;
        this.age=age;
        }
        //省略name、age的set和get方法
}



作者: 埗箬    时间: 2015-3-12 10:41
for 循环?StringBuffer.getChars()?String.toCharArray()?楼主要是想输入的话还是用StringBuffer构造函数(new InputStreamReader(System.in))传参给String类对象来取值比较合适。
作者: zgjswp    时间: 2015-3-12 12:43
杨强彪 发表于 2015-3-12 09:49
package com.bixiangdong.day2;

import java.io.BufferedReader;

谢谢,看懂了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2