上学时,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作思路。改成循环不就可以了。哈哈!