我的java排序算法程序,想计算运行时间,结果为0,求各路高手解答。
class People {
public String name;
public int age;
public String sex;
public People() {
}
public People(String name) {
this.name = name;
}
public People(String name, int age) {
this.name = name;
this.age = age;
}
public People(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public void show() {
System.out.println("姓名为:" + name + ",年龄为:" + age + ",性别为:" + sex + "。");
}
}
public class Test {
public static void main(String[] args) {
People p1 = new People();
p1.show();
People p2 = new People("马晓春");
p2.show();
People p3 = new People("常昊", 34);
p3.show();
People p4 = new People("聂卫平", 58, "男");
p4.show();
}
}
运行结果:
姓名为:null,年龄为:0,性别为:null。
姓名为:马晓春,年龄为:0,性别为:null。
姓名为:常昊,年龄为:34,性别为:null。
姓名为:聂卫平,年龄为:58,性别为:男。
package test;
public interface Common {
public double computeSpeed(double a, double b, double c);
}
public class Car007 implements Common{
@Override
public double computeSpeed(double a, double b, double c) {
// TODO Auto-generated method stub
if(c == 0.0) {
throw new ArithmeticException("除数为0");
}
if( a * b < 0.0) {
try {
throw new Exception("速度不能为负数");
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("a = " + a + "; b = " + b);
}
}
return a * b / c;
}
}
public class Plane implements Common{
@Override
public double computeSpeed(double a, double b, double c) {
// TODO Auto-generated method stub
if( a + b + c < 0.0) {
try {
throw new Exception("速度不能为负数");
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("a = " + a + "; b = " + b + ";c = " + c);
}
}
return a + b + c;
}
}
public class ComputeTime {
/*
*调用时, s = 1000
*/
public double getTime(double s, double a, double b, double c) {
double time = Integer.MAX_VALUE;//表示车速为0,不可能到达
double speed = new Car007().computeSpeed(a, b, c);
if(!(speed == 0.0)) {
time = s / speed;
}
return time;
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new ComputeTime().getTime(1000, 10, 20, 30));
}
}
//计算结果:150.0
public class Test5 {
public static void main(String[] args) {
long begin = System.currentTimeMillis();
int[] s_array = new int[10000];
int n = s_array.length;
for (int i = 0; i < n; i++) {
s_array[i] = i;
}
for (int i = 0; i < n - 1; i++) {
int k = i;
for (int j = i + 1; j < n; j++) {
if (s_array[j] < s_array[k])
k = j;
}
if (k != i) {
int temp;
temp = s_array[i];
s_array[i] = s_array[k];
s_array[k] = temp;
}
}
long end = System.currentTimeMillis();
System.out.println();
System.out.print("排序结果:");
for (int i = 0; i < n; i++) {
System.out.print(s_array[i] + " ");
}
System.out.println();
System.out.println("选择排序法用时为:" + (end - begin));
System.out.println("选择排序法比较次数为:" + (n * (n - 1)) / 2);
}
}
1 java问题,求各路高手齐来踊跃解答。。。我想知道正确答案啊。。。 1、4、以下程序段的输出结果为_。 for(i=0;i<5;i++) {for(j=0;j<5
java有哪些算法
一、排序算法 Java中常用的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。这些算法在Java的集合框架中有相应的实现。例如,冒泡排序是通过不断比较相邻元素并交换位置来将最大值或最小值移动到序列的一端。快速排序则基于分治思想,选择一个基准元素,通过递归将小于基准的元素放在左边,...
Java通过几种经典的算法来实现数组排序
args[i]=args[j]; args[j]=temp; } } } return args; } <3>选择排序算法 public static int[] selectSort(int[] args){\/\/选择排序算法 for (int i=0;i<args.length-1 ;i++ ){ int min=i; for (int j=...
java十大算法
算法三:归并排序 归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。算法步骤:1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2. 设定两个指针,最初位置分别为两个已...
排序算法实现-桶排序(Java版本)
桶排序,一种基于分桶的高效排序算法,其原理是通过均匀分配元素到有限数量的桶中,再对每个桶内的元素进行独立排序。在理想情况下,当输入数据均匀分布在[0, 1)区间时,桶排序能够实现线性时间复杂度,即Θ(n)。然而,它并非基于比较的排序算法,不受O(n log n)下限影响。具体实现时,首先假设输入...
java怎么实现排序
Java实现几种常见排序方法 日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。以下常见算法的定义 1. 插入排序:插入排序基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的...
java实现几种常见排序算法
下面给你介绍四种常用排序算法:1、冒泡排序 特点:效率低,实现简单 思想(从小到大排):每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。2、选择排序 特点:效率低,容易实现。思想:每一趟从待排序序列...
数据结构 java开发中常用的排序算法有哪些
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序—...
程序兵法:Java String 源码的排序算法(一)
Comparable接口允许实现类的实例进行比较,JDK 1.2版本引入,用于实现自然顺序排序。compareTo方法用于比较两个对象的大小,返回值决定排序顺序。三、String源码中的算法 Java String类在实现Comparable接口时,通过字符数组存储字符串内容,实现按字典顺序比较。具体规则在源码中通过注释详细说明。四、排序实现 ...
Java的排序算法有哪些
java的排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。1.插入排序:直接插入排序、二分法插入排序、希尔排序。2.选择排序:简单选择排序、堆排序。3.交换排序:冒泡排序、快速排序。
用java冒泡排序和递归算法
冒泡排序 (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。(2)用java实现 ubli cclass bubbleSort { public ...
阳变卡立: import static java.lang.System.*; import java.util.*; public class Test{ public static void main(String...args){ ArrayList l=new ArrayList(); out.println("请输入要排序的字母,输入$结束:"); while(true){ Scanner sc=new Scanner(in); ...
茅箭区19411201880: 初学者:用java程序写一个选择排序算法! - ?
阳变卡立: 选择排序法:public class TSort{ public static void main(String args[]){ int a[]={12,45,2,5,26,56}; for(int i=0;i<a.length-1;i++){ int t; for(int j=i+1;j<a.length;j++){ if(a[i]>a[j]){ t=a[i];a[i]=a[j];a[j]=t; } } } for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } }
茅箭区19411201880: Java的几种常见排序 - ?
阳变卡立: 快速排序法、冒泡法、选择排序法、插入排序法 1.快速排序:import java.util.Arrays; public class Test2{public static void main(String[] args){int[] a={5,4,2,4,9,1};Arrays.sort(a); //进行排序for(int i: a){System.out.print(i);}} } 2.冒泡排序 public ...
茅箭区19411201880: 用Java写一个算法,把一串数字,所有可能的和按顺序排列,并计算每个和出现的次数 - ?
阳变卡立: 楼主你好 应你的要求 我只做了加一位的和加两位的 算法类代码如下:public class CountSumClass { private String number; private String result = new String(""); public CountSumClass() { number = new String(); } public CountSumClass(String ...
茅箭区19411201880: Java 常见的几种排序算法 - ?
阳变卡立: 1、冒泡排序 2、选择排序 3、插入排序 4、归并排序 5、快速排序 6、希尔排序
茅箭区19411201880: java中排序算法代码 - ?
阳变卡立: package temp; import sun.misc.Sort;/*** @author zengjl* @version 1.0* @since 2007-08-22* @Des java几种基本排序方法*//*** SortUtil:排序方法* 关于对排序方法的选择:这告诉我们,什么时候用什么排序最好.当人们渴望先知道排在前面的...
茅箭区19411201880: java中希尔排序算法代码 - ?
阳变卡立: public class ShellSort {//交换数组元素private static void swap(int[] a, int i, int j) {int t = a[i];a[i] = a[j];a[j] = t;} public static void sort(int[] a) {int h = 1;while (h < a.length / 3) {//寻找合适的间隔hh = 3 * h + 1;}while (h >= 1) {//将数组变为间隔h...
茅箭区19411201880: 急求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] > ...
茅箭区19411201880: java中的运算++顺序 - ?
阳变卡立: 首先,先说下x++跟++x的区别 你可以把x++记成 先用再加 即x先赋值给其他的 再加1 ++x 是 先加再用 即x先加1 然后在赋值给其他的int x=-1; int y=x++ + ++x; 解析 y=x++ + ++x 首先是运行表达式右边的,即x++ + ++x,先执行中间"+"号左边的...
茅箭区19411201880: java:设计一个通用的排序算法. - ?
阳变卡立: import java.util.Arrays; class Stu implements Comparable{ String name; int id; public Stu (String n, int i){ name = n; id = i; } public int compareTo(Object o){ Stu m = (Stu) o; if (id > m.id){ return 1; } else if(idreturn -1; } else return 0; } public String ...