Java 实验:常用类

1.        编写一个Java应用程序。用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数(是,则输出“是回文数”,否则输出“不是回文数”)。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。要求:定义两个方法,一个用于获取一个整数的位数,一个用于返回一个整数是否为回文数。

public class One {
	public boolean fun(int n){
		String s = String.valueOf(n);
		String s2 = new StringBuffer(s).reverse().toString();
		return s.equals(s2);
	}
	public int size(int n){
		String s = String.valueOf(n);
		return s.length();
	}
}

2.        编写一个程序,由用户从键盘输入一个字符串,程序输出该字符串中的大写英文字母数,小写英文字母数以及非英文字母数。(用户键盘输入用Scanner类实现)

import java.util.*;

public class Two {
	Scanner s;
	int big = 0;
	int small = 0;
	int no = 0;
	public void fun(){
		s =  new Scanner(System.in);
		String str = s.next();
		for(int i=0;i<str.length();i++){
			char c = str.charAt(i);
			if(Character.isLowerCase(c)){
				small++;
			}else if(Character.isUpperCase(c)){
				big++;
			}else{
				no++;
			}
		}
		System.out.println("大写有"+big+"个");
		System.out.println("小写有"+small+"个");
		System.out.println("其他有"+no+"个");
	}

}


3.        在安排教师监考时,需要从一组教师中随机选取n个教师参加监考。要求实现一个类RandomTeacher的静态方法public static String[] getRandomTeachers(String[] teachers, int n),能够从teachers中随机选择n个教师(名字)并返回。

import java.util.*;
//import java.math.*;

public class RandomTeacher {
	public static String[] getRandomTeachers(String[] teachers, int n){
		Set<Integer> s = new HashSet<Integer>();
		Random ra = new Random();
		while(s.size()!=n){
			int i = ra.nextInt(teachers.length);
			s.add(i);
		}
        Iterator<Integer> it=s.iterator();
        String[] res = new String[n];
        for(int i=0; it.hasNext();i++)
        {
             System.out.println(it.next());
             res[i] = teachers[it.next()];
        }
        return res;
	}
}


4.        假设某餐馆中每桌顾客点菜记录的格式为“北京烤鸭:189 西芹百合:15 清蒸鲈鱼:80”(每道菜的价格与下一道菜的名字之间有一个空格)。编写一个类的方法,能够接受键盘录入的符合上述格式的点菜内容字符串,输出点菜记录中每种菜的价格及总价格。

import java.util.*;

public class Four {
	private static Scanner s;

	public void fun(String a){
		s = new Scanner(a);
		s.useDelimiter(" |:");
		boolean b  = false;
		int sum = 0;
		int[] p = new int[20];
		String[] c = new String[20];
		for(int i = 0;s.hasNext();){
			if(!b){
				c[i] = s.next();
			}else{
				p[i] = Integer.valueOf(s.next());
				sum += p[i];
				i++;
			}
			b=!b;
		}
		for(int i=0; p[i]!='\0'; i++){
			System.out.println(c[i]+" "+p[i]);
		}
		System.out.println("总价为"+sum);
	}
}


5.        编写一个方法,返回一个double型的二维数组,数组中的元素通过解析字符串参数获得。例如,字符串参数:“1,2;3,4,5;6,7,8”,对应的数组为:

d[0,0] = 1.0  d[0,1] = 2.0 

d[1,0] = 3.0  d[1,1] = 4.0  d[1,2] = 5.0 

d[2,0] = 6.0 d[2,1] = 7.0  d[2,2] = 8.0

public class Five {
	double[][] a;
	public void fun(String str){
		String[] s1 = str.split(";");
		a = new double[s1.length][];
		
		for(int i=0; i<s1.length; i++){
			String[] s2 = s1[i].split(",");
			a[i] = new double[s2.length];
			
			for(int j=0; j<s2.length; j++){
				a[i][j] = Integer.valueOf(s2[j]);
			}

		}
		for(double[] i:a){
			for(double j:i){
				System.out.print(j+" ");
			}
			System.out.println();
		}

	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值