星期一, 11月 28, 2005

Homework 11.21

import java.io.*;

public class DateSecondTry {
private String month;
private int day;
private int year;
public void readInput() throws IOException {
System.out.println("Enter month:");
BufferedReader keyinMonth = new BufferedReader(new InputStreamReader(
System.in));
month = keyinMonth.readLine();
System.out.println("Enter day:");
BufferedReader keyinDay = new BufferedReader(new InputStreamReader(
System.in));
day = Integer.parseInt(keyinDay.readLine());
System.out.println("Enter year:");
BufferedReader keyinYear = new BufferedReader(new InputStreamReader(
System.in));
year = Integer.parseInt(keyinYear.readLine());
}

public void setDate() {
month = "June";
day = 17;
year = 2005;
}

public int getDay() {
return day;
}

public int getYear() {
return year;
}

public int getMonth() {
if (month.equalsIgnoreCase("January")) {
return 1;
} else if (month.equalsIgnoreCase("February")) {
return 2;
} else if (month.equalsIgnoreCase("March")) {
return 3;
} else if (month.equalsIgnoreCase("April")) {
return 4;
} else if (month.equalsIgnoreCase("May")) {
return 5;
} else if (month.equalsIgnoreCase("June")) {
return 6;
} else if (month.equalsIgnoreCase("July")) {
return 7;
} else if (month.equalsIgnoreCase("August")) {
return 8;
} else if (month.equalsIgnoreCase("September")) {
return 9;
} else if (month.equalsIgnoreCase("October")) {
return 10;
} else if (month.equalsIgnoreCase("November")) {
return 11;
} else if (month.equalsIgnoreCase("December")) {
return 12;
} else {
System.out.println("FATAL ERROR");
System.exit(0);
return 0;
}
}
}


import java.io.IOException;
public class DateSecondTryDemo
{
public static void main(String[] args)throws IOException
{
DateTry date =new DateTry();
date.setDate();
int newDay= date.getDay();
int newMonth= date.getMonth();
int newYear= date.getYear();
System.out.println("Date is "+newMonth+"/ "+newDay+"/ "+newYear+".");
date.readInput();
int nDay= date.getDay();
int nMonth=date.getMonth();
int nYear=date.getYear();
System.out.println("Date is "+nMonth+"/ "+nDay+"/ "+nYear+".");
System.out.println(date.month);
}
}


4. At the last line of your program, add System.out.println(date.month);
and see what happens. Why?
因為month為private , 所以只有month所在之class可使用。

星期二, 11月 22, 2005

class definition

public class DateFirstTry
{
public String month;
public int day;
public int year;
public void writeOutput()
{
System.out.println(month + " /" + day + "/ " + year);
}
public void makeItNewYears()
{
month = "January";
day = 1;
}
}


----------------------------------------------------------------------------------------------
public class DateFirstTryDemo
{
public static void main(String[] args)
{
DateFirstTry date1,date2;
date1 = new DateFirstTry();
date2 = new DateFirstTry();
date1.month = "December";
date1.day = 31;
date1.year = 2006;
System.out.println("date1:");
date1.writeOutput();
date1.makeItNewYears();
System.out.println("NewYear of date1 is:");
date1.writeOutput();
date2.month = "July";
date2.day = 4;
date2.year = 1776;
System.out.println("date2:");
date2.writeOutput();
date2.makeItNewYears();
System.out.println("NewYears of date2 is:");
date2.writeOutput();
}
}

星期一, 11月 21, 2005

string comparison

public class stringcomparison
{
public static void main(String[] args)
{
String str1 = "I come from CYCU.";
String str2 = "I come from cycu.";
if(str1.equals(str2))
{
System.out.println(" They are equals. ");
}else
System.out.println(" They are not equals. ");

}
}

Can we do it with "=="?
ANS: NO 因為都是object,所以要比較adress是否一樣
What is the result for case-sensitive comparison?
ANS:只要是大小寫不同,即為不同的字串
What about case-insensitive?
ANS:不分大小寫