In: Computer Science
Java
Define a class called BlogEntry that could be used to store an entry for a Web log.
The class should have instance variables to store :
- the poster’s username,
- text of the entry,
- and the date of the entry using the Date class
Date class is:
class Date
{
private int day, year;
private String mon;
public Date()
{
mon=" ";
day=0;
year=0;
}
public String toString()
{
return (mon+"/"+day+"/"+year);
}
public set_date(String m, int d, int y)
{
mon=m;
day=d;
year=y;
}
}
Methods:
-Add a constructor that allows the user of the class to set all instance variables.
-Also add a method, DisplayEntry()/toString(), that outputs all of the instance variables,
- method called getSummary that returns the first 10 characters from the text (or the entire text if it is less than 10 characters).
.
.
.
.
.
.
my code so far:
import java.util.Scanner;
public class BlogEntry
{
private String name;
private String entry;
public BlogEntry(String n, String e, String m, int d,
int y)
{
System.out.println("Poster's name:
"+n+"\nEntry Text: "+e);
System.out.println("Date: "+m+"
"+d+", "+y);
}
public String getName()
{
return name;
}
public void setName(String n)
{
this.name=n;
}
public String getEntry()
{
return entry;
}
public void setEntry(String e)
{
this.entry=e;
}
class date
{
private int d, y;
private String m;
public date(String m,int d, int y)
{
m= " ";
d=0;
y=0;
}
public void setdate(String m, int d, int y)
{
m=m;
d=d;
y=y;
}
}
private void String setSummary()
{
String summary=" ";
int space=0;
int script=0;
while(space<=9 &&
script<entry.length())
{
String
next=entry.substring(script,script+1);
if(next.equals(" "))
{
if(space<=9)
space++;
else
break;
}
summary+=next;
script++;
}
return summary;
}
public getSummary()
{
return summary;
}
public static void main(String [] args)
{
String name;
String entry;
String month;
int day;
int year;
Scanner input=new Scanner(System.in);
System.out.println("Please enter the Poster's name: ");
name=input.nextLine();
System.out.println("What is the text for the blog entry:
");
entry=input.nextLine();
System.out.println("What is the date of the entry?");
System.out.println("Please enter the month: ");
month=input.nextLine();
System.out.println("Please enter the day: ");
day=input.nextInt();
System.out.println("Please enter the year: ");
year=input.nextInt();
System.out.println("\nBlog Entry:");
BlogEntry entry1= new BlogEntry(name,entry,month,day,year);
BlogEntry entry2= new BlogEntry(name,entry,month,day,year);
entry2.setSummary(entry);
System.out.println("\nThe summary of this entry is
"+entry2.getSummary);
}
}
.
.
.
.
the error is occuring for my getSummary and setSummary
BlogEntry.java:47: error: '(' expected private void String setSummary() ^
BlogEntry.java:67: error: invalid method declaration; return type required public getSummary() ^
2 errors
//Try this Java code
class Date { private int day, year; private String mon; public Date() { mon=" "; day=0; year=0; } //overload constructor public Date(int day, int year, String mon) { this.day = day; this.year = year; this.mon = mon; } @Override public String toString() { return (mon+"/"+day+"/"+year); } public void set_date(String m, int d, int y) { mon=m; day=d; year=y; } }
//==========================================
public class BlogEntry { /** * the poster’s username, */ private String userName; /** *text of the entry, */ private String entry; /** * date of the entry using the Date class */ private Date date; //Constructor public BlogEntry(String userName, String entry, Date date) { this.userName = userName; this.entry = entry; this.date = date; } //Getters and setters public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getEntry() { return entry; } public void setEntry(String entry) { this.entry = entry; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } /** * * @return outputs all of the instance variables, */ @Override public String toString() { return "User Name: "+userName+"\n Blog Date: "+date+"\nBlog Entry: \n"+entry; } /** * * @return the first 10 characters from the text * (or the entire text if it is less than 10 characters). */ public String getSummary() { if(entry.length()<=10) { return entry; } else { return entry.substring(0,10); } } }
//===========================================
import java.util.Scanner; public class BlogEntryTest { public static void main(String[] args) { String name; String entry; String month; int day; int year; Scanner input = new Scanner(System.in); //Prompt to user System.out.print("Please enter the Poster's name: "); name=input.nextLine(); System.out.print("What is the text for the blog entry: "); entry=input.nextLine(); System.out.println("What is the date of the entry?"); System.out.println("Please enter the month: "); month=input.nextLine(); System.out.print("Please enter the day: "); day=input.nextInt(); System.out.print("Please enter the year: "); year=input.nextInt(); //Create object BlogEntry blogEntry = new BlogEntry(name,entry,new Date(day,year,month)); System.out.println("\nBlog Entry:"); System.out.println(blogEntry); System.out.println("\nBlog Summary:"); System.out.println(blogEntry.getSummary()); } }
//Output
//If you need any help regarding this solution .......... please leave a comment ...... thanks