本文目錄一覽:
- 1、java 數組順序排列
- 2、java怎麼讓數組的數字從大到小排序?
- 3、Java 關於排列 (sort)
- 4、java數組sort()方法降序怎麼排?
- 5、如何用java實現一個數組的排列
- 6、java實現排列組合輸出
java 數組順序排列
首先,API裡面寫了: Sorts the specified array of ints into ascending numerical order.
就是這是個升序!
其次,你這個運行應該不會報錯,輸出的會是 數組地址,因為數組在java裡面是一個對象,如果要看排序的結果,需要遍歷下:
比如
for(int i:arr){
System.out.println(i);
}
java怎麼讓數組的數字從大到小排序?
將數字從大到小排序的方法:
例如簡一點的冒泡排序,將第一個數字和後面的數字逐個比較大小,如果小於,則互換位置,大於則不動。此時,第一個數為數組中的最大數。然後再將第二個數與後面的數逐個比較,以次類推。
示例代碼如下:
public class Test {
public static void main(String[] args) {
int [] array = {12,3,1254,235,435,236,25,34,23};
int temp;
for (int i = 0; i array.length; i++) {
for (int j = i+1; j array.length; j++) {
if (array[i] array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp; // 兩個數交換位置
}
}
}
for (int i = 0; i array.length; i++) {
System.out.print(array[i]+” “);
}
}
}
數組對於每一門編程語言來說都是重要的數據結構之一,當然不同語言對數組的實現及處理也不盡相同。
Java 語言中提供的數組是用來存儲固定大小的同類型元素。
你可以聲明一個數組變量,如 numbers[100] 來代替直接聲明 100 個獨立變量 number0,number1,….,number99
擴展資料
Java中利用數組進行數字排序一般有4種方法:
1、選擇排序是先將數組中的第一個數作為最大或最小數,然後通過循環比較交換最大數或最小數與一輪比較中第一個數位置進行排序。
2、冒泡排序也是先將數組中的第一個數作為最大或最小數,循環比較相鄰兩個數的大小,滿足條件就互換位置,將最大數或最小數沉底。
3、快速排序法主要是運用Arrays類中的Arrays.sort方法()實現。
4、插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。
Java 關於排列 (sort)
程序整體錯誤較多,但你的思路很清晰。在以後要多注意數組邊界的處理和排序的邏輯性思維的鍛煉
出現的錯誤已更正,需要注意的地方代碼中已經指出。希望對你有幫助
——————————————程序代碼——————————————
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class population {
static Scanner console=new Scanner(System.in);
public static void main(String[]args)
{ int[] x={1,25,7,6,8}; //x.length=5;
int i,j,f;
int []v=new int[8];
for (j=0;j5;j++)/*由於x有5個元素,j=1開始循環的話那麼j6,但你
後邊要給數組賦值所以只有改j的初始值了,
後邊就將j+1就不會出現“x0”
*/
{System.out.println(“Enter the number for x”+ (j +1));
for (i=0;i8;i++)
v[i]=console.nextInt();
x[j]=(v[0]+v[1])-(v[2]+v[3])+(v[4]+v[5])+(v[6]+v[7]);
}
System.out.println(“排序前:”);
for (j=0;j5;j++){
System.out.println(“x”+j+”=” + x[j]);
}
for (f =0; fx.length;f++)
{
for (j=0;j(x.length-1);j++)/*循環每一個元素所以要從j=0開始,
在這個數組裡 第4此循環比較x[3]和 x[4], 第5次循環
只取的最後一個元素 這也是冒泡排序
要注意的地方,最後一次不要比較。*/
{
if (x[j]x[j+1])
{ //將x[j],[j+1]交換位置,
int tmp=0;
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
}
}
}
System.out.println(“排序後:”);
for (j=0;j5;j++){
System.out.println(“x”+j+”=” + x[j]);
}
}
}
________________________________程序執行結果————————————
Enter the number for x1
1 2 3 4 5 6 7 8
Enter the number for x2
2 5 8 3 6 9 7 8
Enter the number for x3
1 4 7 2 5 8 3 6
Enter the number for x4
4 5 6 7 8 92 5
4
Enter the number for x5
4 5 6 8 5 2 3 6
排序前:
x0=22
x1=26
x2=18
x3=105
x4=11
排序後:
x0=105
x1=26
x2=22
x3=18
x4=11
java數組sort()方法降序怎麼排?
java數組sort()方法降序方式:
用Arrays類sort()對數組元素進行降序排列
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println(“/n”);
System.out.println(“降序排列:”);
for (int i=vec.length-1;i=0 ;i– )
{
System.out.print(vec[i]+” “);
}
}
}
如何用java實現一個數組的排列
首先根據數組的類型不同排序方式也是不同的,如果是基本類型數組,那麼使用冒泡或者其他排序方式都是很簡單的,例如:。如果不想自己寫排序算法那麼使用Arrays.sort()進行排序也是不錯的。
如果是自定義類型的數組,推薦使用java自帶的工具類:Comparable接口,並重寫CompareTo()方法。或者Compartor。
java實現排列組合輸出
完成了一種實現,發給你參考下。
不過感覺應該還有更好的辦法,有時間我會繼續研究下.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class TestQiuhe {
//集合a{1,2,3,5,7,10},輸出不多於4個元素(不重複)的加和為22的組合。
public static void main(String[] args) {
int[] nums={1,2,3,5,7,10};
int l = nums.length;
Listint[] results=new ArrayListint[]();
for(int i1=0;i1l;i1++){
for(int i2=0;i2l;i2++){
if(nums[i1]==22){
results.add(new int[]{nums[i1]});
}
if(i2!=i1){
if(nums[i1]+nums[i2]==22){
results.add(new int[]{nums[i1],nums[i2]});
}
for(int i3=0;i3l;i3++){
if(i3!=i1 i3!=i2){
if(nums[i1]+nums[i2]+nums[i3]==22){
results.add(new int[]{nums[i1],nums[i2],nums[i3]});
}
for(int i4=0;i4l;i4++){
if(i4!=i1 i4!= i2 i4!=i3){
if(nums[i1]+nums[i2]+nums[i3]+nums[i4]==22){
results.add(new int[]{nums[i1],nums[i2],nums[i3],nums[i4]});
}
}
}
}
}
}
}
}
//去重
SetString reSet=new HashSet();
for(int[] r:results){
Arrays.sort(r);
reSet.add(Arrays.toString(r));
}
System.out.println(“一共得到結果集:”+reSet.size());
System.out.println(reSet);
}
}
運行結果:
一共得到結果集:2
[[5, 7, 10], [2, 3, 7, 10]]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/193393.html