猿问
下载APP

java键盘输入

public class MyCalendar {
		String  dd;
		
		public String  getDd() {
			return dd;
		}
		public void setDd(String  dd) {
			this.dd = dd;
		}
	
//键盘输入日期
		public void jianpansuru() {
				
				System.out.println("按格式输入查询日期  yyyy-MM-dd");
				Scanner temp=new Scanner(System.in);
				String dd=temp.next();
				MyCalendar s=new MyCalendar();
				s.setDd(dd);
				System.out.println(s.getDd());
		}
    }
public static void main(String[] args) {
		MyCalendar w = new MyCalendar();
		w.jianpansuru();
		System.out.println(w.getDd());

	}

按格式输入查询日期  yyyy-MM-dd

sssssssss

sssssssss

null

--------------------------------------------------------------------------------------

为什么我都setDa了,调用 的时候还是为空。怎么保存输入的信息到String dd

holy_yakutsk
浏览 4309回答 5
5回答

Caballarii

MyCalendar s=new MyCalendar(); s.setDd(dd);删掉,改成setDd(dd);或者this.setDd(dd);

堇延未七

对象是引用(请仔细理解这句话的意思)你设值的是对象s的dd,而不是对象w的dd,所以你为什么指望w的dd有值呢?

public_static_void

你在mycalendar的 键盘输入 的方法中new了一个对象s,这是开辟了一片空间,之后在main方法中又new了一个对象,相当于又开辟了一片空间,这两片空间不一样,而你只在第一片空间中setDd(输入值),第二篇空间啥都没做,返回当然是Null

qq_炫_03909954

public class MyCalendar {     String dd;     public String getDd() {         return dd;     }     public void setDd(String dd) {         this.dd = dd;     }     public void jianpansuru(){         System.out.println("按格式输入查询日期  yyyy-MM-dd");         Scanner temp = new Scanner(System.in);         String dd = temp.next();         //当前对象 设置dd         setDd(dd);     }     public static void main(String[] args) {         MyCalendar w = new MyCalendar();         w.jianpansuru();         System.out.println(w.getDd());     } }

慕勒1124132

gdd
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答