java如何比较输入的两个数??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何比较输入的两个数??相关的知识,希望对你有一定的参考价值。

//新手求救

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比较失败,总是按输入的先后输出的..

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);

参考技术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
参考技术B 转换成任何一种数字类型,Double,Integer,Long等等,都有把字符串转成数字的方法。然后可以直接比较了。本回答被提问者采纳

用c#比较三个数的大小,并输出最大数。

在Visual Studio 2008中添加两个文本框和一个命令按钮,在一个文本框中输入三个数,点击按钮时在另外一个文本框中输出最大数。

  对于比较n个数思路有以下几种:

  1 遍历比较。总共要比较n*(n-1)/2次。例如:对于数a,b,c 需要比较a,b a,c b,c 记录每次最大的值,最后输出这个值。这种方式是最常用的。

  2 排序比较。先用某种算法,将n个数排序,然后直接给出最大的那个数(依据降序还是升序决定是给队首还是队尾)

  3 筛选法。逐个淘汰,剩下一个的时候,就是结果,其他情况继续筛选。例如先比较10000,如果全部淘汰,下次所有的数比较1000,否则只有剩下的数参与比较。如此这般,从10000开始比较1000,100,10直到1 当任何时候只剩下1个数的时候比较完成。如果找不到,则表明存在多个数值一直,返回最后一次存在剩余结果的值即可

  针对3示例如下(算法伪代码,假定是整数)

unsigned getMax(params unsigned[] datas)

    List<unsigned> lst;
    unsigned max = 0;
    for(unsigned i=0x80000000;i>0;i/=2)
    
        if(lst.Count()==0)
            for(unsigned data in datas)
                if(i&data>0)
                    max = data;
                    lst.Add(data);
                
            
        else
            List<unsigned> tmp;
            for(unsigned data in lst)
                if(i&data>0)
                    max = data;
                    tmp.Add(data);
                
            
            if(tmp.Count()>0)
                lst = tmp;
            
        
        if(lst.Count==1) break;
    
    return max;

参考技术A 1、可以用控制台应用程序实现,也可以用windows应用程序实现。
2、用控制台应用程序实现如下:
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1

class Program

static void Main(string[] args)

int a = 6, b = 1, c = 7;
System.Console.WriteLine("0 1 2",
a.ToString(),b.ToString(),c.ToString());
if (a < b) a = b;
if (a < c) a = c;
System.Console.Write(a);
System.Console.ReadKey();



参考技术B 你确定下是不是三个Textbox 一个label 加一个按钮 点击按钮比较三个数大小 在label中显示最大数 要是的话 我觉得应该这么写...

int a=Convert.toint(Textbox1.text);
int b=Convert.toint(Textbox2.text);
int c=Convert.toint(Textbox3.text);
if(a>=b)

if(a>=c)

label.text=Convert.tostring(a);

else

label.text=Convert.tostring(c);



else

if(b>=c)

label.text=Covert.tostring(b);


else

label.text=Convert.tostring(c);

参考技术C int a = 1;
int b = 2;
int c = 3;
int d = a > b ? a : b;
int e=d>c?d:c;
输出e 就是最大的。 注意一个文本框中的值要用 变量.ToString().Split(‘’)分离出来
参考技术D Response.Write("数字以,隔开");
string [] num = new string[3];
num = this.TextBox1.Text.Trim().Split(',');
try

int num1 = int.Parse(num[0]);
int num2 = int.Parse(num[1]);
int num3 = int.Parse(num[2]);

int temp1 = num1 > num2 ? num1 : num2;
int temp2 = num2 > num3 ? num2 : num3;
int max = temp1 > temp2 ? temp1 : temp2;
this.TextBox2.Text = max.ToString();

catch

Response.Write("转换错误");

以上是关于java如何比较输入的两个数??的主要内容,如果未能解决你的问题,请参考以下文章

用Java编写比较两个数大小的题目

labview中如何写: 比较前面板中输入的两个数的大小,并输出其中最大值?

labview中如何写:比较前面板中输入的两个数的大小,并输出其中最大值?

JAVA比较两个数大小

在java程序中怎么取输入的最小数和最大数

编写Java程序,比较两个数的大小,找出其中最大数与最小数,并输出最大数与最小数之差.