上学时,java基础课上的一个例子,我忘了,大家记得不?

上学时,java基础课上的一个例子,我忘了,大家记得不?

比如有一个类 A.class
在cmd 下输入 java A

然后在屏幕命行上显示几行文字

1.计算乘法
2.退出
.........

然后你在命令行下接着能输出 1 2 3 回车
命令行就能返回结果 6

输入 2回车 就退出程序

就是这样一个例子,还是上学时的,发现自己竟然想不起来怎么实现的。天天学习各种框架, 可是连上学时学的基础都想不起来了, 真是惭愧。
[b]问题补充:[/b]
草草的改一下 异常兄的

[code="java"]
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test7 {

public static void main(String[] arg){   
    System.out.println("1.one");   
    System.out.println("2.ext");   
     while(true){   
        String a;
        try {

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

            if((a=br.readLine())!=null){
                if(a=="1"){   
                       System.out.println("16624478");    
                 }else if(a=="2"){   
                        break;   
                 }
            }


        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   

     }   
    } 

}
[/code]

没有截获到命令

草草的改一下 taopian兄的
[code="java"]
import java.util.Scanner;

public class Test6{

public static void main(String args[]) {

System.out.println("1.计算乘法 ");

System.out.println("2.退出 ");

System.out.println("请选择:");

Scanner scanner = new Scanner(System.in);   

String choose = scanner.next();   


if (choose.equals("1")) {   
    // String num1 = scanner.next();   
    // String num2 = scanner.next();   

    // int n1 = Integer.parseInt(num1);   
    // int n2 = Integer.parseInt(num2);   

    System.out.println("n1 * n2");   
}

}

}
[/code]

不过只能计算一遍,我记得还可以多次计算直到按2退出。

[b]问题补充:[/b]
认真的结合两位的指点改一下,应该是这样了,谢谢。

[code="java"]
import java.util.Scanner;

public class Test6{
public static void main(String args[]) {

System.out.println("1.计算乘法 ");

System.out.println("2.退出 ");

System.out.println("请选择:");

Scanner scanner = new Scanner(System.in);   
String choose = "";   
String[] a;
int n1,n2;

while(true) {
  choose = scanner.next();

    if(choose.equals("2"))break;        
    if((a = choose.split("\\*")).length==2){
      try{
        n1 = Integer.parseInt(a[0]);
        n2 = Integer.parseInt(a[1]);
        System.out.println(choose + " = "+ (n1*n2));}catch(Exception e){}           
    }
}   

}
}

[/code]

按照你的要求,再改了一下:

[code="java"]
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);

    String choose = null;

    while (!"2".equals(choose)) {
        System.out.println("1.计算乘法 ");
        System.out.println("2.退出 ");
        System.out.println("请选择:");

        choose = scanner.next();

        if ("1".equals(choose)) {
            String num1 = scanner.next();
            String num2 = scanner.next();

            int n1 = Integer.parseInt(num1);
            int n2 = Integer.parseInt(num2);

            System.out.println(n1 * n2);
        }
    }
}

[/code]

InputReader 读取 屏幕输入; 根据输入判断;

[code="java"]public static main (String arg){
system.out.println("1.one");
system.out.println("2.ext");
while(true){
String a = system.in.read();
if(a=="1"){
dosomthing();
}else if(a=="2"){
break;
}
}
}[/code]

讲InputStream和OutputStream时演示的,要用到System.in和System.out,System.err,然后有经验的老师会讲,它分别对应C/C++里面的stdin,stdout,stderr.带出一大片知识,然后讲Java里面的流用到了GOF 的Decorator设计模式。在往后讲。。。。

上代码:
[code="java"]
public static void main(String args[]) {
System.out.println("1.计算乘法 ");
System.out.println("2.退出 ");
System.out.println("请选择:");

    Scanner scanner = new Scanner(System.in);

    String choose = scanner.next();

    if (choose.equals("1")) {
        String num1 = scanner.next();
        String num2 = scanner.next();

        int n1 = Integer.parseInt(num1);
        int n2 = Integer.parseInt(num2);

        System.out.println(n1 * n2);
    }
}

[/code]

看看,行不?

[quote]没有截获到命令 [/quote]
异常兄只是做一个思路。将字符串比较改改就可以了。
taopian作思路。改成循环不就可以了。哈哈!