Java 如何利用不定长数组存储不同的对象值

  活动地址:毕业季·进击的技术er

夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始,CSDN诚邀各毕业生/在校生/职场人讲述自己的毕业季故事,分享自己的经验,技术er的进击之路,等你来书写!我是从自身经历出发,分享自己的经验。

在校生-从哪个瞬间开始让你决定学习编程语言?

在校生-在技术学习过程中遇到的最大问题是?如何解决的?

在校生-接下来的学习计划/实习计划?

##################################################

目录

在校生

在校生-从哪个瞬间开始让你决定学习编程语言?

在校生-在技术学习过程中遇到的最大问题是?如何解决的?

在校生-接下来的学习计划/实习计划?


##################################################

在校生

——————————

在校生-从哪个瞬间开始让你决定学习编程语言?

 大二遇到了改变我生活的男孩子,他是一个程序员,他日常生活离不开电脑,记得有一次打电话,听着他手快速地敲键盘,我就爱上了这个敲击声。

 随即他开始引导我,教我一些快捷键使用,网址,Windows,centOS,FreeBSD等,还有我好多都没见识过的软件程序,他写博客有一个重要原因在教会我这个小白。

 他不厌其烦地教我,一步步牵引着我,直到把我带入了Java。

 他在《预见27岁的Java》那个活动还获得了奖,真的很厉害!奖品送到我家的时候,让我更下定决心要学习Java。

——————————

在校生-在技术学习过程中遇到的最大问题是?如何解决的?

#############################################################################

        困难/问题 是:

        如何在对象数组中存储不同对象的值

%%%%%

        怎么解决的:

    其实很简单 根本不需要用到构造
    只需要循环和对象数组
    循环存储被赋值的单个对象 只能存储不同的对象的值而不能存储对象的名字
    但是同样 NB !!!

%%%%%

        执行效果如下

设置学生对象存储上限 <<< 5
循环增加学生对象。
第 [1] 名学生对象..
编号 <<< 10
性别 <<< 女
姓名 <<< 崽崽
继续录入吗 y/n ? <<< y
第 [2] 名学生对象..
编号 <<< 11
性别 <<< 男
姓名 <<< 仔仔
继续录入吗 y/n ? <<< n
遍历录入的学生对象!
第 [1] 名学生的信息 >>>
	id >>> [10]
	sex >>> [女]
	name >>> [崽崽]
第 [2] 名学生的信息 >>>
	id >>> [11]
	sex >>> [男]
	name >>> [仔仔]
设置学生对象存储上限 <<< 100
循环增加学生对象。
第 [1] 名学生对象..
编号 <<< 521
性别 <<< 男
姓名 <<< 仔了你
继续录入吗 y/n ? <<< y
第 [2] 名学生对象..
编号 <<< 520
性别 <<< 女
姓名 <<< 被崽了
继续录入吗 y/n ? <<< c
输入错误!程序结束..
遍历录入的学生对象!
第 [1] 名学生的信息 >>>
	id >>> [521]
	sex >>> [男]
	name >>> [仔了你]
第 [2] 名学生的信息 >>>
	id >>> [520]
	sex >>> [女]
	name >>> [被崽了]

%%%%%

        代码如下:

package demo;
 
import java.util.Scanner;
 
public class Main {
/* 主要类 */
 
	public static void main(String[] args) {
 
		Scanner sc = new Scanner(System.in);
		
		System.out.printf ( "设置学生对象存储上限 <<< " );
		Student st[] = new Student [ sc.nextInt() ] ;	/* 存储学生对象的数组 可以直接设置数组长度! */
 
		System.out.printf ( "\n循环增加学生对象。\n" );
		for ( int i = 0, j = 'n'; i < st.length; i ++ ) {
			
			System.out.printf ( "\n第 [%d] 名学生对象..\n", (i + 1) );
			Student student = new Student();	/* 临时单个学生对象 */
 
			System.out.printf ( "编号 <<< " );
			student.setId ( sc.nextInt() );	/* 赋值同样不需要中间变量 */
			
			System.out.printf ( "性别 <<< " );
			student.setSex ( sc.next().charAt(0) );
			sc.nextLine();	// 清空缓冲区
			
			System.out.printf ( "姓名 <<< " );
			student.setName ( sc.nextLine() );
			
			st[i] = student;	/* 存储该学生对象 */
			
			System.out.printf ( "继续录入吗 y/n ? <<< " );
			j = sc.next().charAt(0);	/* 输入 y 继续 输入 n 结束循环 */
			if ( j == 'y' )
			/* char 跟 int 互通所以可以这样比较 */
				continue;
			else if ( j == 'n' )
				break;
			else
				System.out.printf ( "输入错误!程序结束..\n" );
 
			/* 执行到这里肯定就是最后出问题了结束循环 */
			break;
		}
		
		System.out.printf ( "\n遍历录入的学生对象!\n" );
		for ( int i = 0; i < st.length; i ++ ) {
			
			if ( st[i] != null ) {
			/* 如果当前学生对象不为空则执行输出方法 */
				
				System.out.printf ( "\n第 [%d] 名学生的信息 >>>", (i + 1) );
				st[i].show();
			}
		}
	}
}
 
class Student {
/* 学生类 */
 
	private int id = 0;	// 学生编号
	private char sex = '女';	// 学生性别
	private String name = null;	// 学生姓名
 
	public void setId (int id) {
	/* 设置编号 */
		
		this.id = id;
	}
	
	public int getId () {
	/* 获取编号 */
		
		return this.id;
	}
	
	public void setSex(char sex) {
	/* 设置性别 */
		
		this.sex = sex;
	}
	
	public char getSex () {
	/* 获取性别 */
		
		return this.sex;
	}
	
	public void setName (String name) {
	/* 设置姓名 */
		
		this.name = name;
	}
	
	public String getName () {
	/* 获取姓名 */
		
		return this.name;
	}
	
	public void show() {
	/* 输出信息 */
 
		System.out.printf ( "\n\tid >>> [%d]", getId() );
		System.out.printf ( "\n\tsex >>> [%c]", getSex() );
		System.out.printf ( "\n\tname >>> [%s]", getName() );
	}
}

——————————

在校生-接下来的学习计划/实习计划?

想构建一个关于Java的知识体系

因为专业是会计,所以想学习Excel,弄懂里面的函数

跟着对象的博客下载安装Windows11

对c语言好奇,未来的日子会去了解她

活动地址:毕业季·进击的技术er

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值