zoukankan      html  css  js  c++  java
  • Java面试题(03)

    1)编写程序,计算任意两个日期之间间隔的天数。

    import java.util.Calendar;

    public class Ex14 {

    public static void main(String[] args) {

    Calendar c1 = Calendar.getInstance();

    c1.set(2010, 7, 1);

    Calendar c2 = Calendar.getInstance();

    long ca1 = c1.getTimeInMillis();

    long ca2 = c2.getTimeInMillis();

    // 计算天数    

    long days = (ca2 - ca1) / (24 * 60 * 60 * 1000);

    System.out.println(days);

    }

    }

    2)创建一个HashMap对象,添加一些学生的姓名和成绩:张三:90分,李四,83分。接着从HashMap中获取并他们的姓名和成绩,然后把李四的成绩改为100分,再次输出他们的信息。

    import java.util.HashMap;

    public class Ex15 {

    public static void main(String[] args) {

    HashMap map=new HashMap();

    map.put(“张三“,90);

    map.put(“李四“,83);

    System.out.println(“修改前的成绩:“);

    System.out.println(map);

    map.put(“李四“,100);

    System.out.println(“修改后的成绩:“);

    System.out.println(map);

    }

    }

    3)编写一个程序,用parseInt方法将字符串200由十六进制转换为十进制的int型数据,用valueOf方法将字符串123456转换为float型数据。

    public class Ex16 {

    public static void main(String[] args) {

    String str1=”200″;

    System.out.println(Integer.parseInt(str1,16));

    String str2=”123456″;

    System.out.println(Float.parseFloat(str2));

    }

    }

    4) 编写程序,将long型数据987654转换为字符串,将十进制数365转换为十六进制数表示的字符串

    public class Ex17 {

    public static void main(String[] args) {

    long num=987654L;

    int i=365;

    System.out.println(“Long类型转换为String:“+String.valueOf(num));

    String HexI=DtoX(i);

    System.out.println(HexI);

    }

    //转换函数

    public static String DtoX(int d)

    {

    String x=”";

    if(d<16){

    x=change(d);

    }

    else{

    int c;

    int s=0;

    int n=d;

    while(n>=16){

    s++;

    n=n/16;

    }

    String [] m=new String[s];

    int i=0;

    do{

    c=d/16;

    //判断是否大于10,如果大于10,则转换为A-F的格式

    m[i++]=change(d%16);

    d=c;

    }while(c>=16);

    x=change(d);

    for(int j=m.length-1;j>=0;j–){

    x+=m[j];

    }

    }

    return x;

    }

    //判断是否为10-15之间的数,如果是则进行转换

    public static String change(int d){

    String x=”";

    switch(d){

    case 10:

    x=”A”;

    break;

    case 11:

    x=”B”;

    break;

    case 12:

    x=”C”;

    break;

    case 13:

    x=”D”;

    break;

    case 14:

    x=”E”;

    break;

    case 15:

    x=”F”;

    break;

    default:

    x=String.valueOf(d);

    }

    return x;

    }

    }

    5)编写一个程序,接收以克为单位的一包茶叶的单位重量、卖出的包数和每克的价格,计算并显示出销售的总额。其中三个数据一行输入,数据间用“-”分隔。比 如:输入“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);

    }

    }

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

    class Pair{

    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  Pair 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(min, max);

    }

    }

    public class Ex19 {

    public static void main(String[] args) {

    //测试整型数组

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

    Pair 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 p2=ArrayAlg.minmax(words);

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

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

    }

    }

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

    import java.util.*;

    public class Ex20 {

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

    for (T o : a){

    c.add(o);

    }

    }

    public static void main(String[] args) {

    Integer[] ia = new Integer[100];

    Collection cn = new ArrayList();

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

    System.out.println(cn);

    }

    }

    8)试编写一个List类型的对象只能存储通讯录(存储同学的姓名和联系方式),并输出通讯录的列表到控制台

    import java.util.*;

    class Student{

    private String name;

    private String phone;

    public Student(String name, String phone) {

    this.name = name;

    this.phone = phone;

    }

    public String toString() {

    return name+”:”+phone;

    }

    }

    public class Ex21 {

    public static void main(String[] args) {

    Student st1=new Student(“John”,”23214″);

    Student st2=new Student(“Alice”,”4563″);

    List list=new ArrayList();

    list.add(st1);list.add(st2);

    for(int i=0;i<list.size();i++)

    System.out.println(list.get(i));

    }

    }

  • 相关阅读:
    将model注册进单例中,每次用的时候从单例里面取
    构建ASP.NET MVC4&JQuery&AJax&JSon示例
    ajax用法
    MVC 后台向前台传值,同一Controller下Action之间的传值,Controller与Controller之间的传值
    mvc5入门指南
    在EF中做数据索引
    json to Object
    ajax请求后返回的时间转换格式
    Target JRE version (1.8.0_101) does not match project JDK version (unknown), will use sources from JDK: 1.8
    Idea 配置启动JDK___在windows中使用Intellij Idea时选择自定义的64位JVM
  • 原文地址:https://www.cnblogs.com/QAZLIU/p/5505341.html
Copyright © 2011-2022 走看看