当前位置: 技术问答>java相关
一个JAVA小问题,马上结帖给分
来源: 互联网 发布时间:2015-07-26
本文导语: 是一个两个数相加的小程序,可每次一输入A后,它就输出结果和为多少了 为什么?我还没输入B呢??? import java.util.*; import java.io.*; import java.lang.*; public class add { public static int dd(int a,int b){ ...
是一个两个数相加的小程序,可每次一输入A后,它就输出结果和为多少了
为什么?我还没输入B呢???
import java.util.*;
import java.io.*;
import java.lang.*;
public class add {
public static int dd(int a,int b){
return a+b;
}
public static void main(String[] args){
int a=0,b=0;
try {
System.out.print("请输入a:");
a = System.in.read();
System.out.print("请输入b:");
b = System.in.read();
System.out.println("和为:"+dd(a,b));
}catch(IOException e) {
System.out.println("wrong");
};
}
}
为什么?我还没输入B呢???
import java.util.*;
import java.io.*;
import java.lang.*;
public class add {
public static int dd(int a,int b){
return a+b;
}
public static void main(String[] args){
int a=0,b=0;
try {
System.out.print("请输入a:");
a = System.in.read();
System.out.print("请输入b:");
b = System.in.read();
System.out.println("和为:"+dd(a,b));
}catch(IOException e) {
System.out.println("wrong");
};
}
}
|
public static void main(String[] args)
{
try
{
int nFirst = 0;
int nSecond = 0;
String sFirst,sSecond;
BufferedReader in = new BufferedReader( new InputStreamReader(System.in) );
System.out.print("Please input the first number:");
sFirst = in.readLine();
try
{
nFirst = Integer.parseInt( sFirst );
}
catch(NumberFormatException nfe )
{
System.out.println("错误的参数:"+sFirst);
System.exit(-1);
}
System.out.print("Please input the second number:");
sSecond = in.readLine();
try
{
nSecond = Integer.parseInt( sSecond );
}
catch(NumberFormatException nfe )
{
System.out.println("错误的参数:"+sSecond);
System.exit(-1);
}
int nTotal = nFirst + nSecond;
System.out.println("The added value is:"+ nTotal);
}
catch(IOException ie)
{
System.out.println( ie );
}
}
{
try
{
int nFirst = 0;
int nSecond = 0;
String sFirst,sSecond;
BufferedReader in = new BufferedReader( new InputStreamReader(System.in) );
System.out.print("Please input the first number:");
sFirst = in.readLine();
try
{
nFirst = Integer.parseInt( sFirst );
}
catch(NumberFormatException nfe )
{
System.out.println("错误的参数:"+sFirst);
System.exit(-1);
}
System.out.print("Please input the second number:");
sSecond = in.readLine();
try
{
nSecond = Integer.parseInt( sSecond );
}
catch(NumberFormatException nfe )
{
System.out.println("错误的参数:"+sSecond);
System.exit(-1);
}
int nTotal = nFirst + nSecond;
System.out.println("The added value is:"+ nTotal);
}
catch(IOException ie)
{
System.out.println( ie );
}
}
|
DataInputStream dis=new DateInputStream(System.in);
a=dis.readline;
....
b=dis.readline;
....
需要缓冲。。。。
a=dis.readline;
....
b=dis.readline;
....
需要缓冲。。。。
|
b字符已经认为是回车了。
哈哈哈哈!
哈哈哈哈!
|
System.in.read()读入的是key 的编码
在你输入一个数后,按 enter key 时,己输入了b,b=enter 的编码
你在d=System.in.read(); 后 insert System.out.println(*a=*+a+*b=*);
观察结果
在你输入一个数后,按 enter key 时,己输入了b,b=enter 的编码
你在d=System.in.read(); 后 insert System.out.println(*a=*+a+*b=*);
观察结果
|
byte[] aa = new byte[2000];
int num = System.in.read(aa);
num是读到的byte总数。只要你一行输入不超过2000个byte就能保存在aa里面
你可以再定义一个bb = new byte[num];就可以了。
int num = System.in.read(aa);
num是读到的byte总数。只要你一行输入不超过2000个byte就能保存在aa里面
你可以再定义一个bb = new byte[num];就可以了。
|
要用 bufferdReader
|
1要用 bufferdReader
2 要将类型转化 string 转化成 int
2 要将类型转化 string 转化成 int
|
read和readln不同阿
read(byte[] b)
改成readln吧
read(byte[] b)
改成readln吧
|
?查了一把api,没有readln的啊:(
那就只有自己判断了
用read(),一次读一个,然后凑起来
那就只有自己判断了
用read(),一次读一个,然后凑起来
|
import java.io.DataInputStream;
|
bufferdReader
是什么?怎么用?
是什么?怎么用?