「取数组第二小的数java」写一个函数找出数组中第二大的数
本篇文章给大家谈谈取数组第二小的数java,以及写一个函数找出数组中第二大的数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java求一个无序数组第二小元素
- 2、Java用scanner找最小的两个数
- 3、java 数组求最小的三个值,并且考虑平手
- 4、如何在一个数组中查找第二小的元素
- 5、java 求出一个数组6个数最大最小数的和,第二大第二小的数的和第三大和第三小数的和。
- 6、java数组比大小,依次算出从大到小数值的下标,比如数组里最大数的下标是多少,第二大的是下标多少,
java求一个无序数组第二小元素
public double getSubMin(double[] d){
if(d!=null d.length1)
{
double result = d[0]d[1] ? d[1] : d[0];
double max = d[0]d[1] ? d[1] : d[0];
for(int i=0; id.length; i++)
{
if(d[i]max)
{
result = max;
max = d[i];
}
}
return result;
}
return 0;
}
Java用scanner找最小的两个数
写了一个,楼主可以看看。。已测试。。有不明白的地方可以问
import java.util.Scanner;
public class a {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//输入多个值并存入String数组中。已空格为分割
String num[] = sc.nextLine().split(" ");
if(num.length1){
System.out.println("无数据");
return;
}
int n[] = new int[num.length];
//将String数组转成int型数组
for(int i = 0; i num.length; i ++){
n[i] = Integer.parseInt(num[i]);
}
//---
a a = new a();
int min[] = a.findMin(n);
System.out.println("最小的两个数是"+min[0]+","+min[1]);
}
//求最小的两个数
public int[] findMin(int a[]){
int min[] = new int[2];//存放最小的两个数的数组
//排序
for(int j=1;j a.length;j++){
//后南值将要插入前面值
int temp = a[j];
//前面位置
int i = j - 1;
while(i != -1 temp a[i]){
a[i+1] = a[i];
i--;
}
a[i+1] = temp;
}
//取出a数组中最小的两个数
min[0] = a[0];
min[1] = a[1];
//返回数组
return min;
}
}
java 数组求最小的三个值,并且考虑平手
public static void main(String[] args) {
try {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int[] num1=new int[6];
int[] num2=new int[6];
String a;
for(int i=0; i 6; i++) {
System.out.println("请输入第" + (i + 1) + "个元素");
a=br.readLine();
num2[i]=Integer.parseInt(a);
num1[i]=Integer.parseInt(a);
}
StringBuilder result=new StringBuilder();
result.append("最小的是");
Arrays.sort(num1);
int rank=1;
int min=0;
int count=0;
for(int i=0; i 6 rank = 3; i++) {
if(min != num1[i] count=3) {
for(int k=0; k 6; k++) {
if(num1[i] == num2[k]) {
if(min != num2[k]) {
min=num2[k];
rank++;
}
result.append(k + 1).append("号,");
count++;
}
}
result.append("数值是:").append(num1[i]).append(";");
if(rank = 3 count=3) {
result.append("第").append(rank).append("小的是");
}
}
}
System.out.println(result);
} catch(IOException e) {
e.printStackTrace();
}
}
如何在一个数组中查找第二小的元素
先找最小值,再查找第二小是个方法,不过也可以直接查找。
假设待查找的数组为b,则第二小的位置(索引)为find(bmin(b),1),值为b(find(bmin(b),1))。
式中的1表示大于数组最小值的第一个值,即为第二小。
java 求出一个数组6个数最大最小数的和,第二大第二小的数的和第三大和第三小数的和。
给你个例子.看看
import java.util.Arrays;
public class $ {
public static void main(String args[]) {
int num = 6;
Integer[] arr = new Integer[num];
// 初始化数据
init(arr);
// 排序
Arrays.sort(arr);
// 求和
int minIdx = 1;// 第二小
int maxIdx = num - 1;// 第二大
int sum = execute(arr, minIdx, maxIdx);
System.out.println(sum);
}
private static int execute(Integer[] arr, int minIdx, int maxIdx) {
// 数组下标未做校验
return arr[minIdx] + arr[maxIdx];
}
private static void init(Integer[] arr) {
for (int i = 0; i arr.length; i++) {
arr[i] = i;
}
}
}
java数组比大小,依次算出从大到小数值的下标,比如数组里最大数的下标是多少,第二大的是下标多少,
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arrA = {45,23,87,56,42,81,12,2,99};
int[] arrB = Arrays.copyOf(arrA, arrA.length);
int[] arrC = new int[arrA.length];
Arrays.sort(arrB);
for (int i = 0 ; i arrB.length ; i ++) {
arrC[i] = find(arrA, arrB[i]);
}
System.out.println("最大数下标:" + arrC[arrC.length - 1]);
System.out.println("最小数下标:" + arrC[0]);
System.out.println("从小至大:");
for (int i = 0 ; i arrC.length ; i ++) {
System.out.println(arrC[i]);
}
System.out.println("从大至小:");
for (int i = arrC.length - 1 ; i = 0 ; i --) {
System.out.println(arrC[i]);
}
}
public static int find(int[] arr, int e) {
int result = -1;
for (int i = 0 ; i arr.length ; i ++) {
if (arr[i] == e) {
result = i;
break;
}
}
return result;
}
}
取数组第二小的数java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于写一个函数找出数组中第二大的数、取数组第二小的数java的信息别忘了在本站进行查找喔。