请用java语言编写排序程序。

作者&投稿:紫乐 (若有异议请与网页底部的电邮联系)
用Java语言编写一个能对一组字符串(如hello,world,we,hi,hey)按单词表的顺序排序的程序。~

单词表? 应该是字母表的顺序吧? 以下代码仅供参考
public class a {public static void main(String[] args) {String[] ss = new String[] { "hello", "world", "we", "weak", "hey" };sortStringArray(ss);for (int i = 0, k = ss.length; i 0) {temp = ss[i];ss[i] = ss[m];ss[m] = temp;}}}}}

以学生姓名、学号为例
package server;

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Students extends JFrame{
/**
* 信息组建
*/
ArrayList alname = new ArrayList();
ArrayList alno = new ArrayList();
/**
* 面板组件
*/
static int num = 0;
JTextField jtno =new JTextField(31);
JTextField jtname =new JTextField(31);
JButton jbfind = new JButton("查找");
JButton jbedit = new JButton("修改");
JButton jbadd = new JButton("添加");
JButton jbdelete = new JButton("删除");
JButton jbok = new JButton("退出");
Students(){
//"E://Text//user.txt"读取原始信息
try {
BufferedReader br = new BufferedReader(new FileReader("E://Text//user.txt"));
String message = null;
while ((message = br.readLine()) != null) {
String[] arrayLine = message.split("\\s+");
alname.add(arrayLine[0]);
alno.add(arrayLine[1]);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println(alname);
System.out.println(alno);
}
public void studentFrame(){
setTitle("学生信息");
setSize(480,150);

setLayout(new GridLayout(3,1));
JPanel p1 = new JPanel();
p1.add(new JLabel("学号:",JLabel.CENTER));
p1.add(jtno);
JPanel p2 = new JPanel();
p2.add(new JLabel("姓名:",JLabel.CENTER));
p2.add(jtname);
JPanel p3 = new JPanel();
p3.add(jbfind);
p3.add(jbedit);
p3.add(jbadd);
p3.add(jbdelete);
p3.add(jbok);
add(p1);
add(p2);
add(p3);
jbedit.setEnabled(false);
jbdelete.setEnabled(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jbfind.addActionListener(new Find());
jbedit.addActionListener(new Edit());
jbadd.addActionListener(new Add());
jbdelete.addActionListener(new Delete());
jbok.addActionListener(new Ok());
}
private class Ok implements ActionListener{

public void actionPerformed(ActionEvent e) {
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E://Text//user.txt")));
bw.write("");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E://Text//user.txt",true)));
for(int i =0;i<alno.size();i++){
bw.write(alname.get(i)+" "+alno.get(i));
bw.newLine();
bw.flush();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
dispose();
}
}
private class Add implements ActionListener{

public void actionPerformed(ActionEvent e) {

String no = jtno.getText();
String name = jtname.getText();
num = alno.indexOf(no);
System.out.println(num);
if(num==-1){
alno.add(no);
alname.add(name);
}else{
JOptionPane.showMessageDialog(null,"该用户已存在请重新输入!");
}
System.out.println(alno);
System.out.println(alname);
jtno.setText("");
jtname.setText("");

}
}

private class Find implements ActionListener{

public void actionPerformed(ActionEvent e) {

jbedit.setEnabled(true);
jbdelete.setEnabled(true);
// jbimport.setEnabled(false);
jbfind.setEnabled(false);
String str = jtno.getText();
num = alno.indexOf(str);

jtname.setText(alname.get(num));

}

}
private class Edit implements ActionListener{

public void actionPerformed(ActionEvent e) {
jbfind.setEnabled(true);
jbadd.setEnabled(true);
// jbimport.setEnabled(true);
jbedit.setEnabled(false);
jbdelete.setEnabled(false);
alno.remove(num);
alname.remove(num);
String no = jtno.getText();
String name = jtname.getText();
alno.add(no);
alname.add(name);
System.out.println(alno);
System.out.println(alname);
jtno.setText("");
jtname.setText("");

}
}
private class Delete implements ActionListener{

public void actionPerformed(ActionEvent e) {
String no = jtno.getText();
num = alno.indexOf(no);
alno.remove(num);
alname.remove(num);
System.out.println(alno);
System.out.println(alname);
jtno.setText("");
jtname.setText("");
jbdelete.setEnabled(false);
}

}
public void setSize(int width,int height){
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-width)/2,(d.height-height)/2,width,height);
}
public static void main(String[] args) {
new Students().studentFrame();
}

}

参考代码如下,可以按需求自己修改

import java.util.Date;
public class SortThread {
public static void main(String[] args) {
//产生一个随机数组
int[] ary = getArray();
//启动冒泡排序线程
new Thread(new MaoPao(ary)).start();
//启动快速排序线程
new Thread(new KuaiSu(ary)).start();
}
private static int[] getArray() {
//建议数字n不要超过1百万,十万左右就好了
int n = (int) (Math.random()*1000000)+11;
int[] ary= new int[n];
System.out.println("n的值是" + n);
for (int i = 0; i < ary.length; i++) {
ary[i] = (int) (Math.random()*100000);
}
return ary;
}
}
//冒泡排序
class MaoPao implements Runnable {
int[] ary;
public MaoPao(int[] ary) {
this.ary = ary;
}
@Override
public void run() {
long st = System.currentTimeMillis();
System.out.println(new Date() + "冒泡排序线程:开始执行排序");
for (int i = 0; i < ary.length - 1; i++) {
for (int j = 0; j < ary.length - i - 1; j++) {
if (ary[j] < ary[j + 1]) {
int temp = ary[j];
ary[j] = ary[j + 1];
ary[j + 1] = temp;
}
}
}
long et = System.currentTimeMillis();
System.out.println(new Date() + "冒泡排序线程完成排序,耗费时间" + (et - st) + "毫秒");
for (int i = 0; i < ary.length; i++) {
System.out.println(ary[i]+" ");
}
}
}
//快速排序
class KuaiSu implements Runnable {
int[] ary;
public KuaiSu(int[] ary) {
this.ary = ary;
}
@Override
public void run() {
long st = System.currentTimeMillis();
System.out.println(new Date() + "快速排序线程:开始执行排序");
quickSort(ary, 1, ary.length);
long et = System.currentTimeMillis();
System.out.println(new Date() + "快速排序线程排序完成,耗费时间" + (et - st) + "毫秒");
for (int i = 0; i < ary.length; i++) {
System.out.println(ary[i]+" ");
}
}

public static int Partition(int a[], int p, int r) {
int x = a[r - 1];
int i = p - 1;
int temp;
for (int j = p; j <= r - 1; j++) {
if (a[j - 1] <= x) {
i++;
temp = a[j - 1];
a[j - 1] = a[i - 1];
a[i - 1] = temp;
}
}
temp = a[r - 1];
a[r - 1] = a[i + 1 - 1];
a[i + 1 - 1] = temp;
return i + 1;
}
public static void quickSort(int a[], int p, int r) {
if (p < r) {
int q = Partition(a, p, r);
quickSort(a, p, q - 1);
quickSort(a, q + 1, r);
}
}
}


import java.util.Random;

public class Nova {
private boolean flag = false;
private int randomNum;
private int[] randomArray;

public Nova() {
SortThread st1 = new SortThread();
st1.start();
SortThread st2 = new SortThread();
st2.start();
if(st1.getTimeCost()>st2.getTimeCost()){
System.out.println("先执行完成的是线程:"+st2.getId());
}else{
System.out.println("先执行完成的是线程:"+st1.getId());
}

}

public int generateRandom(){
int a = (int)(Math.random()*10)+10;
System.out.println(a);
return a;
}

public int[] generateArray(int len){
int[] shadow = new int[len];
for(int i = 0;i < len;i++){
shadow[i++] = (int)(Math.random()*100)+8;
}
/*for(int j=0;j<shadow.length;j++){
System.out.print(shadow[j]+" ");
}*/

return shadow;
}

class SortThread extends Thread{

private double timecost;
/*public SortThread(){
Thread t = new Thread();
t.start();
}*/

public double getTimeCost(){
return timecost;
}
@Override
public void run() {

randomNum = generateRandom();
//randomArray = new int[randomNum];
randomArray = generateArray(randomNum);
int[] result;
if(flag){
synchronized (this) {
double d1 = System.currentTimeMillis();
result = bubbleSort(randomArray);
double d2 = System.currentTimeMillis();
timecost = d2-d1;
}
flag = false;
}else{

synchronized (this) {
double d1 = System.currentTimeMillis();
result = pivotSort(0, randomArray.length-1);
double d2 = System.currentTimeMillis();
timecost = d2-d1;
}
flag = true;
}
display(result);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

public void display(int data[])
{
for(int i=0;i<data.length;i++)
{
System.out.print(data[i]);
System.out.print(" ");
}
System.out.println();
}

private int[] bubbleSort(int[] data){

for(int i=0;i<data.length;i++){
for(int j=0;j<data.length-1-i;j++){
if(data[j]>data[j+1]){ //如果后一个数小于前一个数交换
int tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
return data;
}

private int[] pivotSort(int low,int high){

if(low<high){
int result = partition(randomArray,low,high);
pivotSort(low,result-1);
pivotSort(result+1,high);
}
return randomArray;
}

private int partition(int sortArray[],int low,int hight){
int key = sortArray[low];

while(low<hight)
{
while(low<hight && sortArray[hight]>=key)
hight--;
sortArray[low] = sortArray[hight];
while(low<hight && sortArray[low]<=key)
low++;
sortArray[hight] = sortArray[low];
}
sortArray[low] = key;
return low;
}

public static void main(String[] args) {
Nova nova = new Nova();
}
}

public class SortThread {
public static void main(String[] args) {
Array array = new Array();
quickSort cn = new quickSort(array);
new Thread(cn).start();
bubbleSort sn = new bubbleSort(array);
new Thread(sn).start();

}
}

class Array {

private int[] nums = new int[10];

public int[] getNums() {
return nums;
}

public void setNums(int[] nums) {
this.nums = nums;
}

public Array() {
int[] temp = new int[10];
for (int i = 0; i < nums.length; i++) {
temp[i] = (int)(Math.random() * 89 + 10);
}
this.setNums(temp);
}

public synchronized void quick() {
long startTime = System.currentTimeMillis();
_quickSort(0, this.getNums().length - 1);
long endTime = System.currentTimeMillis();
for (int i = 0; i < this.getNums().length; i++) {
System.out.print(this.getNums()[i]);
if (i < this.getNums().length - 1) {
System.out.print(" < ");
}
}
System.out.println("    快速排序使用的时间为:" + (endTime - startTime) + "ms");
}

private int partition(int[] nums,int low,int hight) {
        int key = nums[low];
        while(low < hight){
            while(low < hight && nums[hight] >= key)
                hight--;
            nums[low] = nums[hight];
          while(low < hight && nums[low] <= key)
              low++;
          nums[hight] = nums[low];
      }
      nums[low] = key;
      return low;
  }

  public void _quickSort(int low,int hight) {
      if (low < hight) {
          int result = partition(this.getNums(),low,hight);
          _quickSort(low,result - 1);
          _quickSort(result + 1,hight);
      }
  }

public synchronized void bubble() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < this.getNums().length - 1; i++) {
for (int j = i + 1; j < this.getNums().length; j++) {
int temp = 0;
if (this.getNums()[i] > this.getNums()[j]) {
temp = this.getNums()[i];
this.getNums()[i] = this.getNums()[j];
this.getNums()[j] = temp;
}
}
}
long endTime = System.currentTimeMillis();
for (int i = 0; i < this.getNums().length; i++) {
System.out.print(this.getNums()[i]);
if (i < this.getNums().length - 1) {
System.out.print(" < ");
}
}
System.out.println("    冒泡排序使用的时间为:" + (endTime - startTime) + "ms");
}
}

class quickSort implements Runnable {

public Array array;

public quickSort(Array array) {
this.array = array;
}

public void run() {
array.quick();
}
}

class bubbleSort implements Runnable {

public Array array;

public bubbleSort(Array array) {
this.array = array;
}

public void run() {
array.bubble();
}
}



...Java程序的步骤是什么?每一步的结果是什么?在JDK中,Java语言的...
3、运行class文件:在dos中输入所写的源文件名字(不需要写后缀名-即.class 严格区分大小写 编译不需要区分大小写)。如使用开发工具所写:请参照相对应的手册来点击开发工具中的按钮来编译运行。java语言的编译命令就是javac 在dos中输入javac可见到这个命令的详细介绍。其他命令也是一样。至于每一步的...

java编程开发语言编辑脚本应该怎么做?
Java脚本API是一种独立于框架的脚本语言,使用来自于Java代码的脚本引擎。通过java脚本API,可以使用Java语言编写定制\/可扩展的应用程序并将自定义脚本语言选择留给终用户。Java应用程序开发者不需要在开发过程中选择扩展语言。如果你使用JSR-223API来编写应用,那么你的用户可以使用任何JSR-223兼容的脚本语言。

安卓Android软件开发用什么语言?
安卓(Android)软件开发通常使用以下编程语言:1.Java:Java是安卓平台上最常用的编程语言之一。它是Android应用程序的官方开发语言,大多数应用都是用Java编写的。Android应用的核心库和运行时环境也是基于Java构建的。2.Kotlin:Kotlin是一种现代的、功能强大的编程语言,由JetBrains公司开发。Google宣布Kotlin...

java语言如何编写程序?
如下:(1) 一个Java语言开发工具包(Java Devekopment Kit),其中包括Java 编译器和Java运行环境。(2) 一份Java语言API文档,目前版本的Java语言API文档同样可以免费。(3) 一个Java语言集成开发环境,能够在其中编辑Java代码,并且进行编译与调试。推荐使用的集成开发环境是JCreator。建议去找老师让老师 ...

Java到底能做什么事情呢?
可以做Android:Android手机,随便打开一个APP应用,他们就是用的Java语言。从Android刚刚起步,到今天许多的Android应用都是由Java程序员开发的。虽然Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写的。可以编写游戏:很多耳熟能详的游戏都是通过Java语言编写的,并且Java不仅仅是在...

JAVA是什么软件?主要是干什么用的?
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。相关工作用途:1...

java是什么语言?
一、Java语言概述 首先得知道Java是什么,Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。那么为什么要使用这个语言呢,Java语言的特点跨平台性,通过Java语言编...

java后缀的文件
它可以将Java字节码即时编译为本地机器代码,提高程序的执行速度。总之,Java后缀的文件是一种非常重要的文件类型,它包含了Java程序的源代码。程序员使用Java编程语言编写Java源代码文件,并将其编译为Java字节码文件。Java字节码文件可以在Java虚拟机上运行,并且可以通过JIT编译器提高程序的执行速度。

用JAVA语言编写一个程序,要求如下:
import java.util.Random;import java.util.Scanner;public class T {public static void main(String[] args) throws Exception {Scanner in = new Scanner(System.in);int difficulty;\/\/难度int mode;\/\/运算类型int answer;\/\/答案int amount;\/\/挑战题目数量int score = 0;\/\/得分System.out....

java是c语言还是C++编写的?
java是C++编写的。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向...

余姚市19522077197: 急!!用java编写一个排序应用程序 -
主父印关节: public class Test1 {public static void main(String[] args) throws Exception {int a[]={0,3,4,6,5,1,2,9,8};System.out.print("排序前:");for (int i= 0; i< a.length; i++) {System.out.print(a[i]);}Arrays.sort(a);System.out.print("\n排序后:");for (int i= 0; i< a.length; i++) {System.out.print(a[i]);}}}

余姚市19522077197: 用java写一个程序: 对命令行输入的一组整数用选择排序法排序 -
主父印关节: import java.util.Scanner;public class SelectSort {public static void main(String[] args) { int[] data=new int[5];Scanner sc=new Scanner(System.in);System.out.println("请输入5个数: ");for(int i=0;i<5;i++){int num=sc.nextInt();data[i]=...

余姚市19522077197: java请设计出一个对N个数进行排序的程序 -
主父印关节: Scanner in = new Scanner(System.in); System.out.print("输入个数:"); int[] arr = new int[in.nextInt()]; int num=0; for (int i = 0; i < arr.length; i++) { System.out.print("输入第(" + (i + 1) + ")个数:"); arr[i] = in.nextInt(); } for (int i = ...

余姚市19522077197: 用java语言编写一个程序对任意三个整数进行排序并输出结果 -
主父印关节: length ;把这里改成大于; a[j]=a[j + 1]; a[j + 1]=temp; i < astatic void BubbleSort(int a []){ int temp=0; i++) { for (int j = 0; j &lt,就是升序了 temp=a[j]; a.length - i - 1; j++){ if (a[j]>a[j + 1]){ // } } } }就是一个冒泡排序,你可以去百度搜一下就会出来很多了; for (int i = 0

余姚市19522077197: 用java编写任意输入数字,排序 -
主父印关节: public String isNumber(String character)修改为public static String isNumber(String character)因为main是静态方法,不能调用非静态方法,jvm加载 顺序不一样,或者产生JJArrangedNumbers的对象 a, 用a来调用a.isNumber()..其它方法一样…

余姚市19522077197: 编写java程序:输入N个数字,对其进行从小到大排序 -
主父印关节: 实现思路:就是输入的数字之间有固定的规则,之后读取后,依次进行大小比较,之后直到排序结束,输出结果即可: import java.util.Scanner; public class ArrangedNumbers {Integer arryNum[];int count = 0;/* 统计数字 */boolean judgeIsNum ...

余姚市19522077197: 10个数的排序用JAVA语言怎么写 -
主父印关节: class paixu {private int i,j,temp;void sort(int arrayOflnts[]){for(i=0;i<arrayOflnts.length-1;i++){for(j=0;j<arrayOflnts.length-i-1;j++){if(arrayOflnts[j]>arrayOflnts[j+1]){temp=arrayOflnts[j];arrayOflnts[j]=arrayOflnts[j+1];arrayOflnts[j+1]=temp;}}} ...

余姚市19522077197: java语言中编程对十个整数进行从小到大排序 -
主父印关节: import java.util.Scanner;//键盘输入,冒泡排序 public class Example9_19 { public static void main(String args[]){ Scanner in=new Scanner(System.in);int n=10;int data[]=new int[n];for(int i=0;i<data.length;i++){ System.out.println("请输入...

余姚市19522077197: 急求Java语言程序设计“编程对10个整数进行排序”的程序 -
主父印关节: // 分别用JAVA冒泡算法和选择算法对整型数组进行由小到大排序,并输出 package mym3; public class Mym3 { public int[] SelectSort(int pArray[]) { int temp; for (int i = 0; i < pArray.length - 1; i++) { for (int j = i + 1; j < pArray.length; j++) { if (pArray[i] > ...

余姚市19522077197: java语言写一个简单数组从小到大的排序(0到5就行)要用java语言的 -
主父印关节: public class MyClass { public static void main(String[] args) { int arr[] = new int[]{1,5,3,4,2}; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int t = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = t; } } } for (int i = 0; i < arr.length...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网