Results 1 to 3 of 3
- 10-13-2009, 06:00 AM #1
Member
- Join Date
- Oct 2009
- Posts
- 5
- Rep Power
- 0
help to understand the ? mark in this code
can somebody help me to understand this line of code
s = args.length == 1 ? args[0] : "";
in the following program :
/* <assign> => <id> = <expr> ;
* <id> => a | b | c
* <expr> => 0 | ... | 9 | (<assign>)
*/
public class Main {
public static void main(String[] args) {
s = args.length == 1 ? args[0] : "";
if (assign() && i == s.length()) {
System.out.println("The string \"" + s + "\" is in the language.");
}
else {
System.out.println("The string \"" + s + "\" is not in the language.");
}
}
private static boolean assign() {
if (id()) {
if (i < s.length() && s.charAt(i) == '=') {
++i;
if (expr()) {
if (i < s.length() && s.charAt(i) == ';') {
++i;
return true;
}
}
}
}
return false;
}
private static boolean expr() {
if (i < s.length() && s.charAt(i) >= '0' && s.charAt(i) <= '9') {
++i;
return true;
}
else if (i < s.length() && s.charAt(i) == '(') {
++i;
if (assign()) {
if (i < s.length() && s.charAt(i) == ')') {
++i;
return true;
}
}
}
return false;
}
private static boolean id() {
if (i < s.length() && s.charAt(i) >= 'a' && s.charAt(i) <= 'c') {
++i;
return true;
}
return false;
}
private static String s;
private static int i;
}
- 10-13-2009, 06:07 AM #2
Senior Member
- Join Date
- Dec 2008
- Location
- Hong Kong
- Posts
- 473
- Rep Power
- 5
x ? y : z
if x then y else z
- 10-13-2009, 06:57 AM #3
Member
- Join Date
- Oct 2009
- Posts
- 5
- Rep Power
- 0
Similar Threads
-
Trying to understand this code
By new2java2009 in forum New To JavaReplies: 2Last Post: 09-09-2009, 07:18 PM -
how to mark as Correct or Wrong ?!
By pinkdreammsss in forum New To JavaReplies: 20Last Post: 05-21-2009, 10:52 AM -
Mark thread RESOLVED.
By Eranga in forum Suggestions & FeedbackReplies: 45Last Post: 04-02-2008, 10:34 AM -
BufferedReader .mark(int readAheadLimit)
By ShoeNinja in forum New To JavaReplies: 1Last Post: 11-16-2007, 10:58 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks