这是一个家庭作业问题。我已经晚了5天,想不通我做错了什么。这是我在Java的第一学期,我的这个网站为什么我的主课不能在我的日历类中看到数组
这里是分配的第一篇文章..
创建一个叫Calendar
的类。该类应该包含一个名为events
的变量,它是一个字符串数组。数组应该被创建以保存5个元素。使用一个常数值来指定数组大小。不要硬编码数组大小。在类构造函数中初始化数组,以便每个元素包含字符串“ - 没有计划的事件 - ”。
该类应包含一个名为CreateEvent
的方法。该方法应接受一个String参数,该参数包含一个单词用户事件和一个表示星期几的整数参数。 Monday
应该用数字1
代表,而Friday
应该用数字5
代表。使用传递给方法的事件信息填充事件数组。虽然用户意愿输入一个字的事件,每个事件串应当预先考虑下面的字符串与每个事件:
event_dayAppoinment: (where event_day is the day of the week)
例如,如果用户输入1和“医生”,第一个数组元素应改为: 周一预约:医生
如果用户输入2和“PTA”,第二个数组元素应改为: 周二任命:PTA
写驱动程序(在一个单独的类)创建并调用您的日历类。然后使用循环来收集用户输入。询问当天(作为一个整数),然后询问事件(作为一个单词字符串)。将整数和字符串传递给Calendar对象的CreateEvent
方法。用户应该能够输入0-5个事件。如果用户输入-1
,循环应该退出并且您的应用程序应该以表格格式打印出所有事件。您的程序不应允许用户在一周中的某天输入无效值。除了每周的1 – 5
或-1
以外的任何输入都将被视为无效。
备注: 从用户获取整数时,您需要在扫描仪对象上使用nextInt()
方法。从用户获取字符串时,您需要在扫描仪对象上使用next()
方法。
这是到目前为止我的代码..
//DRIVER CLASS
/**
*
* @author Rocky
*/
//imports scanner
import java.util.Scanner;
//begin class driver
public class driver {
/**
* @paramargs the command line arguments
*/
//begin main method
public static void main(String[] args) {
//initiates scanner
Scanner userInput = new Scanner (System.in);
//declare variables
int dayOfWeek;
String userEvent;
//creates object for calender class
calendercalenderObject = new calender();
//user prompt
System.out.println("Enter day of week for your event in the following format:");
System.out.println("Enter 1 for Monday");
System.out.println("Enter 2 for Tuesday");
System.out.println("Enter 3 for Wednsday");
System.out.println("Enter 4 for Thursday");
System.out.println("Enter 5 for Friday");
System.out.println("Enter -1 to quit");
//collect user input
dayOfWeek = userInput.nextInt();
//user prompt
System.out.println("Please type in the name of your event");
//collect user input
userEvent = userInput.next();
//begin while loop
while (dayOfWeek != -1) {
//test for valid day of week
if ((dayOfWeek>=1) && (dayOfWeek<=5)){
//calls createEvent method in calender class and passes 2 variables
calenderObject.createEvent(userEvent,dayOfWeek);
} else {
//error message
System.out.println("You have entered an invalid number");
//user prompts
System.out.println("Press -1 to quit or enter another day");
System.out.println("Enter 1 for Monday");
System.out.println("Enter 2 for Tuesday");
System.out.println("Enter 3 for Wednsday");
System.out.println("Enter 4 for Thursday");
System.out.println("Enter 5 for Friday");
System.out.println("Enter -1 to quit");
//collect user input
dayOfWeek = userInput.nextInt();
//end data validity test
}
//end while loop
}
//prints array to screen
int i=0;
for (i=0;i<events.length;i++){
System.out.println(events[i]);
}
//end main method
}
}
/**
*
* @author Rocky
*/
//imports scanner
import java.util.Scanner;
//begin calender class
public class calender {
//creates events array
String[] events = new String[5];
//begin calender class constructor
public calender() {
//Initializes array
String[] events = {"-No event planned-","-No event planned-","-No event planned-","-No event planned-","-No event planned-"};
//end calender class constructor
}
//begin createEvent method
public String[] createEvent (String userEvent, int dayOfWeek){
//Start switch test
switch (dayOfWeek){
case 1:
events[0] = ("Monday Appoinment:") + userEvent;
break;
case 2:
events[1] = ("Tuesday Appoinment:") + userEvent;
break;
case 3:
events[2] = ("WednsdayAppoinment:") + userEvent;
break;
case 4:
events[3] = ("Thursday Appoinment:") + userEvent;
break;
case 5:
events[4] = ("Friday Appoinment:") + userEvent;
break;
default:
break;
//End switch test
}
//returns events array
return events;
//end create event method
}
//end calender class
}
小样式评论:类名应该大写。 ''驱动程序'不''驱动程序','日历'不''日历'等 –
'我已经晚了5天,无法弄清楚我做错了什么 - - 见墨菲定律...然后,看到墨菲定律... – Coffee