实验一 Java编程环境使用 平台头歌

 第1关:String类的常用方法

package step1;
public class StringExample {
	public static void main(String args[]) {
    	/********* Begin *********/
		String s1 = new String("you are a student"), 
			   s2 = new String("how are you");
		if (s1.equals(s2)) // 使用equals方法判断s1与s2是否相同
		{
			System.out.println("s1与s2相同");
		} else {
			System.out.println("s1与s2不相同");
		}
		String s3 = new String("22030219851022024");
		if (s3.substring(0,6).equals("220302")) // 判断s3的前缀是否是“220302”
		{
			System.out.println("吉林省的身份证");
		}
		String s4 = new String("你"), s5 = new String("我");
		if (s4.compareTo("你")>s5.compareTo("我"))// 按着字典序s4大于s5的表达式
		{
			System.out.println("按字典序s4大于s5");
		} else {
			System.out.println("按字典序s4小于s5");
		}
		int position = 0;
		String path = "c:\\java\\jsp\\A.java";
		position = path.lastIndexOf("\\");// 获取path中最后出现\\的位置
		System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:" + position);
		String fileName = path.substring(12, 18);// 获取path中“A.java”子字符串
		System.out.println("c:\\java\\jsp\\A.java中含有的文件名:" + fileName);
		String s6 = new String("100"), s7 = new String("123.678");
		int n1 = Integer.parseInt(s6);  // 将s6转化成int型数据
		double n2 = Double.parseDouble(s7); // 将s7转化成double型数据
		double m = n1 + n2;
		System.out.println(m);
		String s8 = String.valueOf(m); // String调用valueOf(m)方法将m转化为字符串对象
		position = s8.indexOf(".");
		String temp =s8.substring(position+1);  // 获取s8中小数点后面的小数
		System.out.println("数字" + m + "有" + temp.length() + "位小数");
		String s9 = new String("ABCDEF");
		char a[] = s9.toCharArray(); // 将s9存放到数组a中
		for (int i = a.length - 1; i >= 0; i--) {
			System.out.print(" " + a[i]);
		}
        /********* End *********/
	}
}

第2关:矩阵转置

测试说明

平台会对你编写的代码进行测试:

测试输入: 1 2 3 4 5 6 7 8 9

预期输出

原始数组为: 1 2 3 4 5 6 7 8 9 行列互调后数组为: 1 4 7 2 5 8 3 6 9

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
			int[][] matrix = new int[3][3];
			for (int i = 0; i < 3; i++) {
				for (int j = 0; j < 3; j++) {
					matrix[i][j] = scanner.nextInt();
				}
			}
			/********** Begin **********/
			System.out.println("原始数组为:");

			for (int i = 0; i < 3; i++) {
				for (int j = 0; j < 3; j++) {
					System.out.print(matrix[i][j]+" ");
				}
				System.out.println();
			}
			System.out.println("行列互调后数组为:");
             int s=0;
			for (int i = 0; i < 2; i++) {
				for (int j = i; j < 3; j++) {
                   s= matrix[i][j];
					matrix[i][j]=matrix[j][i];
				    matrix[j][i]=s;
				}

			}

			for (int i = 0; i < 3; i++) {
				for (int j = 0; j < 3; j++) {
					System.out.print(matrix[i][j]+" ");
				}
				System.out.println();
			}
			/********** End **********/
			scanner.close();
	}

第3关:求平均分及各个区间段的人数

package step3;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
public class Score {
	public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
		int num = 1;
		Map<String, Integer> map = new HashMap<>(8);
		double sum = 0D;
		while (true) {

			// 只能接收数字
			if (scanner.hasNextDouble()) {
				double value = scanner.nextDouble();
				if (value==-1) {
					// 结束
					break;
				}
				String line = String.valueOf(value);

				// 统计分数加入到Map中
				if (value < 60) {
					Integer buJiGe = map.get("buJiGe") == null ? 1 : map.get("buJiGe") + 1;
					map.put("buJiGe", buJiGe);
				} else if (value >= 60 && value <= 69) {
					Integer jiGe = map.get("jiGe") == null ? 1 : map.get("jiGe") + 1;
					map.put("jiGe", jiGe);
				} else if (value >= 70 && value <= 79) {
					Integer zhong = map.get("zhong") == null ? 1 : map.get("zhong") + 1;
					map.put("zhong", zhong);
				} else if (value >= 80 && value <= 89) {
					Integer liang = map.get("liang") == null ? 1 : map.get("liang") + 1;
					map.put("liang", liang);
				} else {
					Integer you = map.get("you") == null ? 1 : map.get("you") + 1;
					map.put("you", you);
				}
				// 累加分数
				sum += value;
				num++;
			} else {
				System.out.println("你录入的类型不正确,请重新输入");
			}
		}

		// 打印各个分段的数量

		System.out.println("不及格的人数为:" + map.get("buJiGe"));
		System.out.println("及格的人数为:" + map.get("jiGe"));
		System.out.println("中等的人数为:" + map.get("zhong"));
		System.out.println("良好的人数为:" + map.get("liang"));
		System.out.println("优秀的人数为:" + map.get("you"));

		// 减1的原因是,最后一次录入的数据为"-1"
		double avg = sum / (num - 1);
		System.out.println("全班平均分为:" +String.format("%.1f",avg));
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TECreate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值