java求最大数和次大数
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/26 03:20:25
java求最大数和次大数
依次输入10个数,求他们的最大数和次大数.
依次输入10个数,求他们的最大数和次大数.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class GetMaxNum {
private Number[] source;
public Number[] makeArray(String str, String sep) {
String[] arr;
if (str != null && !str.equals("")) {
arr = str.split(sep);
} else {
arr = new String[0];
}
this.source = new Number[arr.length];
for (int i = 0; i < arr.length; i++) {
source[i] = Double.parseDouble(arr[i]);
}
return source;
}
/*
* 冒泡排序方法:递增顺序
*/
public Number[] doSort_asc() {
for (int i = source.length - 1; i > 1; i--) {
for (int j = 0; j < i; j++) {
if (source[j].doubleValue() > source[j + 1].doubleValue()) {
Number tmp = source[j];
source[j] = source[j + 1];
source[j + 1] = tmp;
}
}
}
return source;
}
/*
* 冒泡排序方法:递减顺序
*/
public Number[] doSort_desc() {
for (int i = source.length - 1; i > 1; i--) {
for (int j = 0; j < i; j++) {
if (source[j].doubleValue() < source[j + 1].doubleValue()) {
Number tmp = source[j];
source[j] = source[j + 1];
source[j + 1] = tmp;
}
}
}
return source;
}
/*
* 所有数据显示
*/
public void display() {
for (int i = 0; i < source.length; i++) {
System.out.print(source[i] + " ");
}
System.out.print("\n");
}
public void display(Number[] source) {
for (int i = 0; i < source.length; i++) {
System.out.print(source[i] + " ");
}
System.out.print("\n");
}
/*
* 显示前两个
*/
public void display2() {
for (int i = 0; i < source.length; i++) {
if (i < 2) {
System.out.print(source[i] + " ");
}
}
System.out.print("\n");
}
public void display2(Number[] source) {
for (int i = 0; i < source.length; i++) {
if (i < 2) {
System.out.print(source[i] + " ");
}
}
System.out.print("\n");
}
public static void main(String[] args) throws IOException {
System.out.println("请输入一个数值类型的字符串(空格分隔):");
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String str = buffer.readLine();
GetMaxNum gmn = new GetMaxNum();
Number[] num = gmn.makeArray(str, " ");
Number[] num2 = gmn.doSort_desc();
System.out.println("你的要求结果:");
gmn.display2(num2);
gmn = null;
num = null;
num2 = null;
str = null;
buffer = null;
}
}
//注释:以上实现原理,从键盘输入任意的数值型字符串,空格隔开,回车结束;立即显示结果:你输入值的最大值和此大值,当然还可以显示排序(递增或者递减)后的值,自己测试一下结果吧!
import java.io.IOException;
import java.io.InputStreamReader;
public class GetMaxNum {
private Number[] source;
public Number[] makeArray(String str, String sep) {
String[] arr;
if (str != null && !str.equals("")) {
arr = str.split(sep);
} else {
arr = new String[0];
}
this.source = new Number[arr.length];
for (int i = 0; i < arr.length; i++) {
source[i] = Double.parseDouble(arr[i]);
}
return source;
}
/*
* 冒泡排序方法:递增顺序
*/
public Number[] doSort_asc() {
for (int i = source.length - 1; i > 1; i--) {
for (int j = 0; j < i; j++) {
if (source[j].doubleValue() > source[j + 1].doubleValue()) {
Number tmp = source[j];
source[j] = source[j + 1];
source[j + 1] = tmp;
}
}
}
return source;
}
/*
* 冒泡排序方法:递减顺序
*/
public Number[] doSort_desc() {
for (int i = source.length - 1; i > 1; i--) {
for (int j = 0; j < i; j++) {
if (source[j].doubleValue() < source[j + 1].doubleValue()) {
Number tmp = source[j];
source[j] = source[j + 1];
source[j + 1] = tmp;
}
}
}
return source;
}
/*
* 所有数据显示
*/
public void display() {
for (int i = 0; i < source.length; i++) {
System.out.print(source[i] + " ");
}
System.out.print("\n");
}
public void display(Number[] source) {
for (int i = 0; i < source.length; i++) {
System.out.print(source[i] + " ");
}
System.out.print("\n");
}
/*
* 显示前两个
*/
public void display2() {
for (int i = 0; i < source.length; i++) {
if (i < 2) {
System.out.print(source[i] + " ");
}
}
System.out.print("\n");
}
public void display2(Number[] source) {
for (int i = 0; i < source.length; i++) {
if (i < 2) {
System.out.print(source[i] + " ");
}
}
System.out.print("\n");
}
public static void main(String[] args) throws IOException {
System.out.println("请输入一个数值类型的字符串(空格分隔):");
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String str = buffer.readLine();
GetMaxNum gmn = new GetMaxNum();
Number[] num = gmn.makeArray(str, " ");
Number[] num2 = gmn.doSort_desc();
System.out.println("你的要求结果:");
gmn.display2(num2);
gmn = null;
num = null;
num2 = null;
str = null;
buffer = null;
}
}
//注释:以上实现原理,从键盘输入任意的数值型字符串,空格隔开,回车结束;立即显示结果:你输入值的最大值和此大值,当然还可以显示排序(递增或者递减)后的值,自己测试一下结果吧!
用C++编写一个控制台应用程序,运行时输入10个整数,输出其中的最大数和次大数.
求JAVA的两整数输出最大最小值以及两个数的和差积商的程序
问:甲数和乙数的最大公因数是6,最小公倍数是90,且小数不能整除大数,求这两个数.
几种数学中常用运算 1.如何快速求一个数的最大公因数和最小公倍数 2.如何对大数进行四则运算(笔算除外
大小两个数,如果大数将个位上的0去掉,就变成小数,大数比小数多81,求大数和小数的和是多少?
两个数的最大公因数是12,最小公倍数为180,且大数不是小数的倍数,求这两个数.
在0到9的十个数字中任选四个组成最大的数和最小的数,然后用大数减小数得出四位数中的四个数字再组成最大和最小的数,再大数减
用Java求两个数的最大公约数和最小公倍数
大数加小数加大数减小数加大数乘小数加大数除小数等于243,其中大数和小数为整数,求大数和小数分别为多少?
java 求98的98次幂
甲数和乙数的最大公约数是,6最小公倍数是90且小数不能整除大数求两个数
两个数的最大公因数是12,两数之积是2160,且大数不是小数的倍数,求这两个数?