如何用java实现两个输入字符串的比较/??
//本人菜鸟一个//实现目的是:按输入的数的大小输出//compareTo好像没起作用,总是按输入的先后输出,不知怎么回事??//====================...
//本人菜鸟一个
//实现目的是:按输入的数的大小输出
//compareTo 好像没起作用,总是按输入的先后输出,不知怎么回事??
//===============================================
import java.io.*;
public class ReadTest extends Object
implements Serializable
{
public static void main(String []args) {
String First="";
String Second="";
System.out.println("请输入一个数值:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
First=br.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//========================
System.out.println("请输入二个数值:");
try{
BufferedReader bt=new BufferedReader(new InputStreamReader(System.in));
Second=bt.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//=========================
if(First.compareTo(Second)>0)
System.out.println("按从大到小输出: "+First+" - "+Second);
else
System.out.println("按从大到小输出: "+Second+" - "+First);
}
} 展开
//实现目的是:按输入的数的大小输出
//compareTo 好像没起作用,总是按输入的先后输出,不知怎么回事??
//===============================================
import java.io.*;
public class ReadTest extends Object
implements Serializable
{
public static void main(String []args) {
String First="";
String Second="";
System.out.println("请输入一个数值:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
First=br.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//========================
System.out.println("请输入二个数值:");
try{
BufferedReader bt=new BufferedReader(new InputStreamReader(System.in));
Second=bt.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//=========================
if(First.compareTo(Second)>0)
System.out.println("按从大到小输出: "+First+" - "+Second);
else
System.out.println("按从大到小输出: "+Second+" - "+First);
}
} 展开
展开全部
compareTo()方法比较的仅仅是 依次比较两个字符串的字符的十进制值的大小; (注意:依次比较)
例如:
First = 20 和 second =8 实际 20>8
compareTo()方法比较的是 2 和 8 所以 变为8比20大了
你必须把字符串转为 数字类型才能比较实际的数字大小
//===============================================
import java.io.*;
public class ReadTest extends Object
implements Serializable
{
public static void main(String []args) {
String First="";
String Second="";
System.out.println("请输入一个数值:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
First=br.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//========================
System.out.println("请输入二个数值:");
try{
BufferedReader bt=new BufferedReader(new InputStreamReader(System.in));
Second=bt.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//=========================
if(Double.parseDouble(First)>Double.parseDouble(Second)) //转为数字类型比较
System.out.println("按从大到小输出: "+First+" - "+Second);
else
System.out.println("按从大到小输出: "+Second+" - "+First);
}
}
例如:
First = 20 和 second =8 实际 20>8
compareTo()方法比较的是 2 和 8 所以 变为8比20大了
你必须把字符串转为 数字类型才能比较实际的数字大小
//===============================================
import java.io.*;
public class ReadTest extends Object
implements Serializable
{
public static void main(String []args) {
String First="";
String Second="";
System.out.println("请输入一个数值:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
First=br.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//========================
System.out.println("请输入二个数值:");
try{
BufferedReader bt=new BufferedReader(new InputStreamReader(System.in));
Second=bt.readLine();
}
catch(IOException e){System.out.println("产生异常");}
//=========================
if(Double.parseDouble(First)>Double.parseDouble(Second)) //转为数字类型比较
System.out.println("按从大到小输出: "+First+" - "+Second);
else
System.out.println("按从大到小输出: "+Second+" - "+First);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的不对吧
compareTo方法是比较两个字符串的词典顺序
也就是在字典中的顺序,比如“abcd”在“acdb”前面
另外你应该先把字符串转变成int,然后再比较
可以用下面的方法比较两个整数
public int max(int m,int n)
{
if(m>n)
return m;
else if(n>m)
return n;
else return 0;//相等的时候返回0
}
可以用int a=Integer.parseint("20");
来把字符串20转换为整数20并赋予a
compareTo方法是比较两个字符串的词典顺序
也就是在字典中的顺序,比如“abcd”在“acdb”前面
另外你应该先把字符串转变成int,然后再比较
可以用下面的方法比较两个整数
public int max(int m,int n)
{
if(m>n)
return m;
else if(n>m)
return n;
else return 0;//相等的时候返回0
}
可以用int a=Integer.parseint("20");
来把字符串20转换为整数20并赋予a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询