我想做个JAVA的IDE,通过调用DOS命令javac java来实现编译和运行功能。
但在这里遇到了问题:
对于一般的程序调用java命令运行时是都可以的,直接利用输入流获取运行结果即可,
但对于有System.in.read()之类的需要用户输入的程序时,会有问题,因为它的输出是与用户交互的,因而无法正确输出结果,关于这个问题,我该怎么办?
但在这里遇到了问题:
对于一般的程序调用java命令运行时是都可以的,直接利用输入流获取运行结果即可,
但对于有System.in.read()之类的需要用户输入的程序时,会有问题,因为它的输出是与用户交互的,因而无法正确输出结果,关于这个问题,我该怎么办?
另外启一个命令行窗口进行运行.
Scanner类吧。那个没问题的
import java.util.Scanner;
import java.io.*;public class Test {
public static void main(String[] args) {
System.out.println("请输入:");
System.out.println("你输入的是:" + input1());
System.out.println("请输入:");
System.out.println("你输入的是:" + input2());
} public static String input1() {
try {
Scanner scanner = new Scanner(System.in);
return scanner.next();
} catch (Exception e) {
e.printStackTrace();
return "发生异常";
}
} public static String input2() {
try {
BufferedReader buffer = new BufferedReader(new InputStreamReader(
System.in));
return buffer.readLine();
} catch (Exception e) {
e.printStackTrace();
return "发生异常";
}
}
}直接在控制台输入就是了,正如楼上所说。我写了两种方法读入你输入的字符串,不知道是不是楼主想要的效果?
我写的程序是个JAVA编译环境,类似eclipse,
在eclipse里执行用户输入时就是最下面的输出面板里面进行的,我也想那样实现,不可不知道该什么时候提示用户输入,感觉这里面挺复杂
我写的程序是个JAVA编译环境,类似eclipse,
在eclipse里执行用户输入时就是最下面的输出面板里面进行的,我也想那样实现,不可不知道该什么时候提示用户输入,感觉这里面挺复杂
既然是调用dos命令,看能不能用 dos命令 echo 请输入XX: 进行提示...后面用流接收。。仅供参考!
这是我新帖的地址,请大家上去看看,谢谢了!
{
public static void main(String[] args)
{
System.out.println("请输入成绩:");
Scanner sc=new Scanner(System.in);
int str=sc.nextInt();
if(str<60)
{
System.out.println("不及格");
}
if(str>=60&&str<70)
{
System.out.println("及格");
}
if(str>=70&&str<80)
{
System.out.println("中等");
}
if(str>=80&&str<90)
{
System.out.println("良好");
}
if(str>=90)
{
System.out.println("优秀");
}
}
}你看看?在Console里面提示,要不然比就用JOptionDialog