A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zgjswp 中级黑马   /  2015-3-11 21:29  /  1300 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想把信息传递给一个对象数组,应该怎么传?
  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. }
复制代码

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

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1

查看全部评分

7 个回复

倒序浏览
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
回复 使用道具 举报
杨强彪 发表于 2015-3-11 21:43
package com.bixiangdong.day2;

public class Test2 {

我的意思是手工输入赋值,不是初始化赋值方式
回复 使用道具 举报
zgjswp 发表于 2015-3-11 21:44
我的意思是手工输入赋值,不是初始化赋值方式

用个
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
String anniu=br.readLine(); 就完事
回复 使用道具 举报
杨强彪 发表于 2015-3-11 22:29
用个
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
String anniu=br.rea ...

你这是简单的输入啊,我知道。
关键是要把输入的字段分配给每个person的name和age属性,该怎么写
回复 使用道具 举报
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方法
}


评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
埗箬 中级黑马 2015-3-12 10:41:49
7#
for 循环?StringBuffer.getChars()?String.toCharArray()?楼主要是想输入的话还是用StringBuffer构造函数(new InputStreamReader(System.in))传参给String类对象来取值比较合适。
回复 使用道具 举报
zgjswp 中级黑马 2015-3-12 12:43:08
8#
杨强彪 发表于 2015-3-12 09:49
package com.bixiangdong.day2;

import java.io.BufferedReader;

谢谢,看懂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马