import java.util.Arrays;
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、峰峰礦網(wǎng)站維護(hù)、網(wǎng)站推廣。
import java.util.Scanner;
public class Test {
public static void getValue()
{
int[] arrayInt = new int[10];
Scanner s = new Scanner(System.in);
//循環(huán)輸入十個數(shù)字
for(int i=0;i10;i++){
System.out.println("輸入第"+(i+1)+"個數(shù)字: ");
arrayInt[i] = s.nextInt();
}
//排序
Arrays.sort(arrayInt);
System.out.println("排列后的順序:");
for(int i=0;iarrayInt.length;i++){
if(i==arrayInt.length-1){
System.out.print(arrayInt[i]);
}else{
System.out.print(arrayInt[i]+",");
}
}
}
public static void main(String[] args) {
getValue();
}
}
已經(jīng)運行通過了你可以試下:
public class Array {
public static void main(String[] args) {
int i;
int a[] = new int[args.length];
System.out.println("排序前:");
for (i = 0; i args.length; i++) {
String s = args[i];
a[i] = Integer.parseInt(s);
System.out.print(+a[i] + " ");
}
System.out.println( );
System.out.println( "最大的與第一個元素交換后: ");//實現(xiàn)將最大的與第一個元素交換
biggest(a );
System.out.println( );
System.out.println( "最小的與最后一個元素交換后: ");//最小的與最后一個元素交換
smallest(a);
}
//實現(xiàn)將最大的與第一個元素交換
private static void biggest(int[] before) {
int max = 0;
for (int i = 0; i before.length - 1; i++) {
if (before[i + 1] before[max]) {
max = i + 1;
}
}
int temp;
temp = before[max];
before[max] = before[0];
before[0] = temp;
for (int i = 0; i before.length; i++) {
System.out.print(before[i]+" ");
}
}
//實現(xiàn)將最小的與最后一個元素交換
private static void smallest(int[] before){
int small = 0;
for (int i = 0; i before.length - 1; i++) {
if (before[i + 1] before[small]) {
small = i + 1;
}
}
int temp;
temp = before[small];
before[small] = before[before.length-1];
before[before.length-1] = temp;
for (int i = 0; i before.length; i++) {
System.out.print(before[i]+" ");
}
}
}
for(int i=0;i=n;i++){
a[i]=sc.nextInt();
}
你這個循環(huán)的循環(huán)條件是有問題的
數(shù)組長度是n那么數(shù)組最后一個數(shù)據(jù)的索引號應(yīng)該是n-1
你這里相當(dāng)于往一個長度n的數(shù)組中輸入了n+1個數(shù)據(jù),是會拋出數(shù)組越界異常的,當(dāng)然沒有結(jié)果了
還有最后輸出整個數(shù)組的時候沒有必要用循環(huán)一個個遍歷啊,直接用Arrays類提供的Arrays.toString(array)方法就可以直接輸出整個數(shù)組了
代碼:
public class test {
private static void sort(Integer arr[], int n) {
if (n = 1) return; ? ? ? //如果只有一個元素就不用排序了
for (int i = 0; i n; ++i) {
// 提前退出冒泡循環(huán)的標(biāo)志位,即一次比較中沒有交換任何元素,這個數(shù)組就已經(jīng)是有序的了
boolean flag = false;
for (int j = 0; j n - i - 1; ++j) { ? ? ? ?//此處你可能會疑問的jn-i-1,因為冒泡是把每輪循環(huán)中較大的數(shù)飄到后面,
// 數(shù)組下標(biāo)又是從0開始的,i下標(biāo)后面已經(jīng)排序的個數(shù)就得多減1,總結(jié)就是i增多少,j的循環(huán)位置減多少
if (arr[j] arr[j + 1]) { ? ? ? ?//即這兩個相鄰的數(shù)是逆序的,交換
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = true;
}
}
if (!flag) break;//沒有數(shù)據(jù)交換,數(shù)組已經(jīng)有序,退出排序
}
}
public static void main(String[] args) {
Integer arr[] = {2, 6, 3, 67, 54};
sort(arr, arr.length);
System.out.println("冒泡排序后的數(shù)組為");
for (Integer i : arr) {
System.out.println(i);
}
}
}
public?static?void?main(String[]?args)?{
int[]?ins?=?new?int[20];
int?tmp;
Scanner?sc?=?new?Scanner(System.in);
for?(int?i?=?0;?i??ins.length;?i++)?{
System.out.print("輸入第"+(i+1)+"個數(shù):");
ins[i]?=?sc.nextInt();
}
for?(int?i?=?0;?i??ins.length;?i++)?{
for?(int?j?=?i?+?1;?j??ins.length;?j++)?{
if(ins[i]??ins[j]){
tmp?=?ins[j];
ins[j]?=?ins[i];
ins[i]?=?tmp;
}
}
}
for?(int?i?=?0;?i??ins.length;?i++)?{
System.out.println(ins[i]);
}
}