想从键盘读如一个数据,再进行计算怎么写?
//: Jexample2.java
import java.io.*;
public class Jexample2{
public static void main(String[] args){
System.out.println("Enter a letter:");
int n=4;
/* try{
n=(int)System.in.read();
}catch(IOException e){}; */
System.out.println("The number is:"+step(n));
}
static long step(int n){
int a=n;
if(a==1)
return a;
else {
long sum=11;
sum=a*step(a-1);
return sum;}
}
}
如程序所示,n改成由键盘输入.
请大家指点...
//: Jexample2.java
import java.io.*;
import javax.swing.*;
public class Jexample2{
public static void main(String[] args){
System.out.println("Enter a letter:");
int n;
String input=JOptionPane.showInputDialog("请输入n的值");
n=Integer.parseInt(input);
System.out.println("The number is:"+step(n));
}
static long step(int n){
int a=n;
if(a==1)
return a;
else {
long sum=11;
sum=a*step(a-1);
return sum;}
}
}
public static void main(String[] args)
{
System.out.println("Enter a letter:");
String s =" ";
int n;
try
{
BufferedReader in = new BufferedReader( new InputStreamReader( System.in) );
s = in.readLine();
}catch(IOException e) {}
n = Integer.parseInt(s.substring(0,b));//b为你要读入的数据的长度
}
你现在的问题是输入的数字变成了asc 码对应的值.
你可以用下面的方法将它转化成输入的10进制.
//: Jexample2.java
import java.io.*;
public class Jexample2{
public static void main(String[] args){
System.out.println("Enter a letter:");
int n=4;
String str;
BufferedReader buf;
try{
//n=(int)System.in.read();
buf=new BufferedReader(new InputStreamReader(System.in));
str = buf.readLine();
n = Integer.parseInt(str);
}catch(IOException e){};
System.out.println("The number is:"+step(n));
}
static long step(int n){
int a=n;
if(a==1)
return a;
else {
long sum=11;
sum=a*step(a-1);
return sum;}
}
}
运行后输出结果如下
Enter a letter:
3
The number is:6