您的位置:首页 > 编程语言 > Java开发

JAVA算法题

2012-05-18 11:39 225 查看
1.
18.编写一个程序,接收以克为单位的一包茶叶的单位重量、卖出的包数和每克的价格,计算并显示出销售的总额。其中三个数据一行输入,数据间用“-”分隔。比如:输入“3-100-2.1”,表示每包的重量为3克,共卖出100包,每克的价格为2.1元。此时的销售总额为630元。

参考代码:

import java.util.Scanner;

public class Ex18 {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

System.out.println(“请依次输入重量、包数、价格,并以-分隔:“);

String strIn=scan.nextLine();

Scanner sc=new Scanner(strIn);

sc.useDelimiter(“-”); //设置分隔符

int num=sc.nextInt();

int bag=sc.nextInt();

float price=sc.nextFloat();

double total=price*num*bag;

System.out.println(“销售总额为:“+total);

}

}

19.编写一个泛型方法,能够返回一个int类型数组的最大值和最小值、String类型数组的最大值和最小值(按字典排序)。

参考代码:

class Pair<T>{

private T min;

private T max;

public Pair() {  min = null; max = null;  }

public Pair(T min, T max) {  this.min = min;  this.max = max;  }

public T getMin() {  return min;  }

public T getMax() {  return max;  }

public void setMin(T newValue) {  min = newValue;  }

public void setMax(T newValue) {  max = newValue;  }

}

class ArrayAlg {

public static <T extends Comparable> Pair<T> minmax(T[ ] a) {

if (a == null || a.length == 0) {

return null;

}

T min = a[0];T max = a[0];

for (int i = 1; i < a.length; i++) {

if (min.compareTo(a[i]) > 0) {min = a[i];}

if (max.compareTo(a[i]) < 0) { max = a[i];}

}

return new Pair<T>(min, max);

}

}

public class Ex19 {

public static void main(String[] args) {

//测试整型数组

Integer[] arrI={1,2,3,4,5,6};

Pair<Integer> p1=ArrayAlg.minmax(arrI);

System.out.println(“整型数组的最小值:“+p1.getMin().intValue());

System.out.println(“整型数组的最大值:“+p1.getMax().intValue());

//测试字符串数组

String[ ] words ={“able”,”word”,”excel”,”course”,”java”,”c#”};

Pair<String> p2=ArrayAlg.minmax(words);

System.out.println(“字符串数组的最小值:“+p2.getMin());

System.out.println(“字符串数组的最大值:“+p2.getMax());

}

}

 

20.编写一个泛型方法,接受对象数组和集合作为参数,将数组中的对象加入集合中。并编写代码测试该方法。

参考代码:

import java.util.*;

public class Ex20 {

static <T> void fromArrayToCollection(T[]a, Collection<T> c){

for (T o : a){

c.add(o);

}

}

public static void main(String[] args) {

Integer[] ia = new Integer[100];

Collection<Number> cn = new ArrayList<Number>();

fromArrayToCollection(ia, cn);// T是Number类型

System.out.println(cn);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息