会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133662个问题
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 2912楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 2914楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 2915楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 2916楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 2917楼

老师,您好,这段代码为什么我赋值180,它的运行结果就是180呢?代码里面有年龄判断,您帮我看看

package File;
/**
 * 测试封装的使用
 * @author zhang - dell
 *
 */
class Person{
	//两个私有属性
	private String name;//姓名
	private int age;//年龄
	
	//Person无参构造方法
	public Person() {
		
	}
		/**
		 * 	set 和get的使用方法
		 * 
		 * set:是给属性赋值
		 * get:是获取属性值
		 */
	public Person(String name,int age) {//带参构造方法name和年龄
		this.name = name;//在构造方法中this指的的当前name的值
		//setAge(age);
		this.age = age;//构造方法中不能直接赋值,应该使用setAge方法
	}
	
	public void setName(String name) {//给属性赋值
		this.name = name;
	}
	
	public String getName() {//获取属性值
		return name;
	}
	
	public void setAge(int age) {//给属性赋值
		//在赋值之前先判断年龄是否合法
		if(age > 130 || age < 0) {//给属性赋值判断
			this.age = 18;//不合法赋默认值18
		}else {
			this.age = age;//合法才给属性age
		}
	}
	@Override
	public String toString() {//重写toString方法
		// TODO Auto-generated method stub
		return  "Person[Person"+name+",age="+age+"]";//返回字符串的内容
	}
	
	
}

public class Test02 {
	public static void main(String[] args) {
		Person p = new Person();
		p.setName("李四");
		p.setAge(-45);
		System.out.println(p);
		
		System.out.println("======================");
		
		p.setName("Lili");
		p.setAge(60);
		System.out.println(p);
		
		System.out.println("======================");
		
		Person p2 = new Person("李四",180);
		System.out.println(p2);
	}

}


运行结果:

blob.png

JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 2918楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 2919楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 2920楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/控制语句、方法、递归算法 2923楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 2924楼

package objPro;

import java.util.Arrays;

/**
 * 二维数组的联系
 * 使用object[][]存储整个表格数据
 * @author 12554
 *
 */

public class Object {
	public static void main(String[] args) {
		//每一个一维数组都代表一行数据
		Object[] emp = {1001,"高小一",18,"程序员","2019-9-9"};
		Object[] emp1= {1002,"高小二",19,"程序员","2019-10-9"};
		Object[] emp2= {1003,"高小三",20,"程序员","2019-11-9"};
		Object[] emp3= {1004,"高小四",21,"程序员","2019-8-9"};

		Object[][] emps = new Object[4][];
		emps[0] = emp0;
		emps[1] = emp1;
		emps[2] = emp2;
		emps[3] = emp3;
		
		//打印二维数组的内容(表格数据打印)
		System.out.println(Arrays.toString(emp0));
		System.out.println(Arrays.toString(emp1));
		System.out.println(Arrays.toString(emp2));
		System.out.println(Arrays.toString(emp3));
		
		//使用嵌套循环打印二维数组(打印表格数据)
		/**
		 * 如果需要单独判断某一个值可用if语句
		 * if(emps[i][需要判定的位置]){}
		 */
		for(int i=0;i<emps.length;i++) {
			for(int j=0;j<emps[i].length;j++) {
				System.out.println(emps[i][j]+"\t");
			}
			System.out.println();
		}
 	}
	
	
}
老师我想问一下在存储数据 的时候这一行一直报错:
                Object[] emp = {1001,"高小一",18,"程序员","2019-9-9"};
		Object[] emp1= {1002,"高小二",19,"程序员","2019-10-9"};
		Object[] emp2= {1003,"高小三",20,"程序员","2019-11-9"};
		Object[] emp3= {1004,"高小四",21,"程序员","2019-8-9"};

提示这些错误Type mismatch: cannot convert from String to Object

JAVA 全系列/第一阶段:AI驱动的JAVA编程/数组和数据存储 2925楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637