yeah. I'm still undergrad.
As for college, in general, you can do it. Eclipse is okay but not great. There's command line everythings for java anyway, so it's not the end of the world--the only part that's questionable is the possible lack of a debugger. They might also be using Netbeans, which is a bit more problematic, but again-command line. If you do well, most professors will work with you, at least in my experience-it is sad, but you can and will ride the blindness+doing well=amazing genius whether you want to or not and no matter how much you try not to, especially in a field where half the sighted students will barely figure out hello world before failing. Computer science isn't only programming, though, which is where the real problems come in: you'd be facing math classes and math classes specifically for computer scientists and we-don't-call-it-math classes if you did it as a degree. I'm kind of unusual; I found programming in early middle school and find most math is easy once I find accessible materials of one sort or another, so grain of salt and your mileage may vary and all that.
but back on topic: in general, computers do not understand human intent. In this case, it knows that you started 2 blocks and that you ended two blocks, so obviously it's time for a while. It can be called many things, but text between {} is what I'm referring to here (other names include compound statement, scope...). If you mismatch so that there's one or more extra right braces, it'll give an error expecting something or complaining about it. If it's one or more extra left braces, it usually doesn't show up until the next function definition or the end of the file, at least depending on languages-some languages do inf act let you define functions inside functions, a feature that can be useful but usually is bad practice anyway.
As for what you can do about it, counting comes with practice. Indentation is a major help and a big deal if you want to program professionally, so try that. My style guideline for this, at least in those languages that use braces is as follows: left braces on the same line as the thing they open, right braces on a line by themselves, indent by 1 more tab (starting at 0) after every left brace, indent by one less tab after every right brace. If you then read it with indentation indication on, the mismatches become obvious, though not always glaringly so. While this code is simple, I don't know anyone who can easily count above 4 levels without some help-more than 4 levels is bad, but it does show up, especially for simple and idiomatic loops over 2-dimensional (or more) arrays. Some text editors will help you indent, but I've just always done it manually and now it's second nature; such editors frustrate me because I'm already doing it by reflex and then everything goes strange. NVDA at least will announce on change but also on read line, so it's like having little brace counts before everything that only show up when you ask.
My BlogTwitter: @ajhicks1992