Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialSoumyadeep Mukhopadhyay
1,772 Points(Maps - Java) I have followed the exactly how Craig has shown us but it still won't compile. Can anyone please help me?
The following contains my error message :
Example.java:45: error: illegal start of type
for (Treet treet : treets) {
^
Example.java:45: error: ')' expected
for (Treet treet : treets) {
^
Example.java:45: error: <identifier> expected
for (Treet treet : treets) {
^
Example.java:53: error: <identifier> expected
System.out.printf("Treets by author : %s %n", treetsByAuthor);
^
Example.java:53: error: illegal start of type
System.out.printf("Treets by author : %s %n", treetsByAuthor);
^
Example.java:53: error: <identifier> expected
System.out.printf("Treets by author : %s %n", treetsByAuthor);
^
Example.java:54: error: <identifier> expected
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
Example.java:54: error: illegal start of type
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
Example.java:54: error: <identifier> expected
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
Example.java:54: error: ';' expected
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
Example.java:54: error: illegal start of type
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
Example.java:54: error: <identifier> expected
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
^
12 errors
The following is the class Example, where all the problems are occurring.
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Date;
import java.util.Set;
import java.util.List;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.TreeSet;
import com.teamtreehouse.Treet;
import com.teamtreehouse.Treets;
public class Example {
public static void main(String[] args) {
Treet[] treets = Treets.load();
System.out.printf("There are %d treets. %n",
treets.length);
Set<String> allHashTags = new TreeSet<String>();
Set<String> allMentions = new TreeSet<String>();
for (Treet treet : treets) {
allHashTags.addAll(treet.getHashTags());
allMentions.addAll(treet.getMentions());
}
System.out.printf("Hash tags : %s %n", allHashTags);
System.out.printf("Mentions : %s %n", allMentions);
Map<String, Integer> hashTagCounts = new HashMap<String, Integer>();
for (Treet treet : treets) {
for (String hashTag : treet.getHashTags()) {
Integer count = hashTagCounts.get(hashTag);
if ( count == null ) {
count = 0;
}
count++;
hashTagCounts.put(hashTag, count);
}
}
System.out.printf("Hash tag counts : %s %n",hashTagCounts);
}
//----------THE LINES STARTING FROM HERE CONTAIN THE ERRORS----------------
Map<String, List<Treet>> treetsByAuthor = new HashMap<String, List<Treet>>();
for (Treet treet : treets) {
List<Treet> authoredTreets = treetsByAuthor.get(treet.getAuthor());
if (authoredTreets == null ) {
authoredTreets = new ArrayList<Treet>();
treetsByAuthor.put(treet.getAuthor(), authoredTreets);
}
authoredTreets.add(treet);
}
System.out.printf("Treets by author : %s %n", treetsByAuthor);
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
}
I don't know if it runs on other machines but it isn't working on my workspace.
1 Answer
Alexander Nikiforov
Java Web Development Techdegree Graduate 22,175 PointsThe closing brace just above the line with LINES STARTING ...
closes public static void main
, that is why code after that closing brace is not right:
System.out.printf("Hash tag counts : %s %n",hashTagCounts);
// } remove this brace and put it to the very end
//----------THE LINES STARTING FROM HERE CONTAIN THE ERRORS----------------
Also add closing brace at the very end:
package com.teamtreehouse;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Date;
import java.util.Set;
import java.util.List;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.TreeSet;
import com.teamtreehouse.Treet;
import com.teamtreehouse.Treets;
public class Example {
public static void main(String[] args) {
Treet[] treets = Treets.load();
System.out.printf("There are %d treets. %n",
treets.length);
Set<String> allHashTags = new TreeSet<String>();
Set<String> allMentions = new TreeSet<String>();
for (Treet treet : treets) {
allHashTags.addAll(treet.getHashTags());
allMentions.addAll(treet.getMentions());
}
System.out.printf("Hash tags : %s %n", allHashTags);
System.out.printf("Mentions : %s %n", allMentions);
Map<String, Integer> hashTagCounts = new HashMap<String, Integer>();
for (Treet treet : treets) {
for (String hashTag : treet.getHashTags()) {
Integer count = hashTagCounts.get(hashTag);
if (count == null) {
count = 0;
}
count++;
hashTagCounts.put(hashTag, count);
}
}
System.out.printf("Hash tag counts : %s %n", hashTagCounts);
//----------THE LINES STARTING FROM HERE CONTAIN THE ERRORS----------------
Map<String, List<Treet>> treetsByAuthor = new HashMap<String, List<Treet>>();
for (Treet treet : treets) {
List<Treet> authoredTreets = treetsByAuthor.get(treet.getAuthor());
if (authoredTreets == null) {
authoredTreets = new ArrayList<Treet>();
treetsByAuthor.put(treet.getAuthor(), authoredTreets);
}
authoredTreets.add(treet);
}
System.out.printf("Treets by author : %s %n", treetsByAuthor);
System.out.printf("Treets by nickrp : %s %n", treetsByAuthor.get("nickrp"));
}
}
Soumyadeep Mukhopadhyay
1,772 PointsSoumyadeep Mukhopadhyay
1,772 PointsIt was such a silly mistake of mine, thank you for pointing it out Alexander Nikiforov.