初学JAVA的一个关于屏幕输出的问题

josh 2003-08-10 12:34:10
程序如下:

1.inter.java

public class inter
{
public static void main(String args[])
{
System.out.print("Welcome to polycalc\n");

int len = args.length;
for(int i=0; i<len; i++) { if (args[i].equals("-i")) polycalc.configure(true); }
polycalc.run();
}
}



2.polycalc.java
class polycalc
{
static boolean interact=false;

static boolean end=false;

static void configure(boolean flag) {interact=flag;}

static void run()
{
while(!end)
{
if(interact) System.out.print("Poly: ");
String poly = my.read();
if(poly.equals("end")) break;
System.out.print(poly+" == not implemented yet\n\n");
}
}
}

class my
{
static String readAux(String s)
{
char c;
try{c=(char)System.in.read();}catch(Exception e) {return s;}
return c=='\n' ? s: readAux(s+c);
}
static String read() {return readAux("");}
}

程序目的:
运行程序后,如: java polycalc -i
则屏幕输出结果为长格式行:
poly: abcdedf
adcdedfg ==not implemented yet
如果输入: java polycalc (没有-i)
则屏幕输出结果为短格式行:(并且没有输出poly)

abcdef
abcdeff
not implemented yet

我的问题是:
try{c=(char)System.in.read();}catch(Exception e) {return s;}
return c=='\n' ? s: readAux(s+c);
这几句语句是做什么目的用的?

谢谢




...全文
28 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun2927 2003-08-10
  • 打赏
  • 举报
回复
此观点一定对,同意
try{c=(char)System.in.read();}catch(Exception e) {return s;}
//从控制台读入一个字符(不是字符串类型),如果出现异常,就返回原字符串S
return c=='\n' ? s: readAux(s+c);
//如果读入的字符是回车('\n'),就返回s,要不就返回readAux(s+c)
其中 c=(char)System.in.read()是将读入的字符进行类型的强制转换
return c=='\n' ? s: readAux(s+c);是三目操作符,其作用是如果(c=='\n')表达式的值为true时,返回前者(s),否则返回后者
xinshou1979330 2003-08-10
  • 打赏
  • 举报
回复
UP
Mingjwan 2003-08-10
  • 打赏
  • 举报
回复
当程序输入为end时推出。
Mingjwan 2003-08-10
  • 打赏
  • 举报
回复
很简单,就是返回程序运行后,键盘输入的所有字符。
lEFTmOON 2003-08-10
  • 打赏
  • 举报
回复
try{c=(char)System.in.read();}catch(Exception e) {return s;}
//从控制台读入一个字符(不是字符串类型),如果出现异常,就返回原字符串S
return c=='\n' ? s: readAux(s+c);
//如果读入的字符是回车('\n'),就返回s,要不就返回readAux(s+c)
其中 c=(char)System.in.read()是将读入的字符进行类型的强制转换
c=='\n'?s:readAux(s+c)是三目操作符,其作用是如果(c=='\n')表达式的值为true时,返回前者(s),否则返回后者

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧