面向对象程序设计入门题目

这篇博客介绍了三个Java编程题目,包括统计字符串中字符类型、实现数字加密算法以及处理学号、姓名和成绩数据。通过示例代码展示了如何计算英语成绩的最值和总和、数学成绩的平均值,以及如何按成绩排序和操作数组。
摘要由CSDN通过智能技术生成

面向对象程序设计入门题目

Java概述

  1. 要求在控制台输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

运行效果如下所示:
在这里插入图片描述

public class Count {

	public static void main(String[] args) {
		int digital = 0;//数字个数
		int character = 0;//英文字母个数
		int black = 0;//空格个数
		int other = 0;//其他字符个数
		System.out.println("请输入一串字符:");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		char[] ch = str.toCharArray();
		for(int i = 0; i < ch.length; i++) {
			if(ch[i] >= '0' && ch[i] <= '9') {
				digital++;
			}else if((ch[i] >= 'a' && ch[i] <= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z')) {
				character++;
			}else if(ch[i] == ' ') {
				black++;
			}else {
				other++;
			}
		}
		
		System.out.println("数字个数:" + digital);
		System.out.println("英文字母个数:" + character);
		System.out.println("空格个数:" + black);
		System.out.println("其他字符个数:" + other);
		
		sc.close();//关闭输入流
	}
}
  1. 某个公司采用加密的方式传递数据,已知该数据是四位的整数,加密的规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位数字交互,第二位和第三位交换。通过程序实现输入一个四位整数求出加密后的数据。
package www.wy.ch01;

import java.util.Scanner;

public class Demo1 {
	public static void main(String args[]) {
		Scanner s = new Scanner(System.in);
		int sum, num = 0;
		while (num < 1000 || num > 9999) {
			System.out.println("输入一个4位正整数:");
			num = s.nextInt();
		}
		int[] a = new int[4];
		a[0] = num / 1000;
		a[1] = (num / 100) % 10;
		a[2] = (num / 10) % 10;
		a[3] = num % 10;
		for (int j = 0; j < 4; j++) {
			a[j] += 5;
			a[j] %= 10;
		}
		for (int j = 0; j <= 1; j++) {
			sum = a[j];
			a[j] = a[3 - j];
			a[3 - j] = sum;
		}
		System.out.println("加密后的数字为:");
		for (int j = 0; j < 4; j++)
			System.out.print(a[j]);
	}
}
  1. 学号数组:String[] stuNo = { “2019011500”, “2019011501”, “2019011502”, “2019011503”, “2019011504” }

姓名数组:String[] stuName = { “张三”, “李四”, “王五”, “赵六”, “王九” }

英语成绩数组:int[] englishScore = { 55, 79, 96, 68, 87 }

数学成绩数组:int[] mathScore = {90, 65, 78, 82, 50}

学号姓名和两科成绩一一对应,也就是说学生张三的学号为2019011500,他的英语成绩是55,数学成绩是90。

写Java程序,要求实以下现功能(提示:可以使用Arrays类中的方法sort()、copyOf()、toString()):

(1) 计算英语成绩数组中最大值、最小值、所有值之和,并输出到控制台。

(2) 计算数学成绩的平均值,并输出到控制台。

(3) 按照英语成绩从高到低,输出学生的姓名和学号。

(4) 将学号按照从小到大排序,并复制数组内容到一个新的数组中。

package www.wy.ch01;

import java.util.Scanner;

public class Demo1 {
		public static void main(String[] args) {
			String[] stuNo = { "2019011500", "2019011501", "2019011502", "2019011503", "2019011504" };
			String[] stuName = { "张三", "李四", "王五", "赵六", "王九" };
			int[] englishScore = { 55, 79, 96, 68, 87 };
			int[] mathScore = {90, 65, 78, 82, 50};
			int[] num1 = {0,1,2,3,4};
			int max=0,min=100,etscore=0;
			for(int i=0;i<5;i++) {
				if(max<englishScore[i]) {
					max=englishScore[i];
				}
				if(min>englishScore[i]) {
					min=englishScore[i];
				}
				etscore+=englishScore[i];
			}
			System.out.printf("英语成绩的最大值为%d,最小值为%d,和为%d\n",max,min,etscore);
			int mtscore=0,mascore;
			for(int j=0;j<5;j++) {
				mtscore+=mathScore[j];
			}
			mascore=mtscore/5;
			System.out.printf("数学成绩的平均值为%d\n" ,mascore);
			
		}
	}
	···
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值