java上机练习题

【问题描述】

输入一组数据(定义1个数组并定义元素个数),求此组数据的最大值和最小值。
【输入形式】

输入一组数据,以空格隔开。
【输出形式】

输出此数组元素的最大值和最小值
【样例输入】

78 63 52 87 45 98
【样例输出】

98

45
【样例说明】

定义数组元素个数为6,输出它们的最大和最小值。

【评分标准】

该程序要求输出所输入数据的最大和最小值。

package operation;

import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		int size=6;
		int arr[]=new int [size];
		Scanner sc=new Scanner(System.in);
		for(int i=0;i<size;i++){
			arr[i]=sc.nextInt();
		}
		int max=arr[0];
		int min=arr[0];
		for(int i=1;i<size;i++){
			if(max<arr[i]){
				max=arr[i];
			}
			if(min>arr[i]){
				min=arr[i];
			}
		}
		System.out.println(max);
		System.out.println(min);

	}

}


【问题描述】实现一个基于ASCII码的简单加密系统。

加密规则如下:

if (OriginalChar + Key > 126) then

       EncryptedChar = ((OriginalChar + Key)-127) + 32

else

       EncryptedChar = (OriginalChar + Key)

限定密钥是1~100之间的某个数字。原始消息全部由ASCII码组成,

编写加密解密功能,实现这个加密系统。输入密钥和一行明文,输出密文;再对密文解密,输出明文。

提示:String.charAt()方法可用于获取字符串中的某个字符

              String.length()方法可返回字符串长度(字符个数)

              Scanner.nextLine()方法可从键盘输入一行字符

【输入形式】
【输出形式】
【样例输入】
【样例输出】

package ASCIIjiami;

import java.util.Scanner;

public class ASCII {

	public static void main(String[] args) {
		int size=100;
		char OriginalChar = 0;
		char EncryptedChar1[]=new char[15] ;
		char EncryptedChar2[] =new char[15];
		Scanner sc=new Scanner(System.in);
		System.out.print("Enter a message for encrypt: ");
		String arr1;
		arr1=sc.nextLine();
		System.out.print("Enter a key between 1 to 100: ");
		int Key=sc.nextInt();
		for(int i=0;i<arr1.length();i++){
			OriginalChar=arr1.charAt(i);
			if (OriginalChar+Key>126) 
				EncryptedChar1[i] = (char) (((OriginalChar+Key)-127) + 32);
		    else
		    	EncryptedChar1[i] = (char) (OriginalChar + Key);

		}
		 String arr2= String.valueOf(EncryptedChar1); //将char变量转换成字符串
		 System.out.println("message: "+arr1);
		 System.out.println("result: "+arr2);
		 for(int i=0;i<arr2.length();i++){
			 OriginalChar=arr2.charAt(i);
			 if(OriginalChar-Key<32){
				 EncryptedChar2[i]=(char) (((OriginalChar-Key)+127) - 32);
			 }else{
				 EncryptedChar2[i]=(char) (OriginalChar - Key);
			 }
		 }
		 String arr3=String.valueOf(EncryptedChar2);
		 System.out.println("result: "+arr2);
		 System.out.println("message: "+arr3);
	   

	}

}

3.组合实现汽车类

一辆Car有(has)四个轮子(Wheels)和一个发动机(Engine)。现在要求用组合方法设计类Car、类Wheel和类Engine.

(1) 类Engine 有字符串属性type记录发动机的型号,

有构造方法,可设置发动机的型号

有方法start()启动引擎(输出下面样例中包含发动机型号和“starts”的字符串)

(2)类Wheel有字符串属性type记录轮胎的型号,有整数类型属性index记录当前轮胎编号(1:front-left,2:front-right,3:back-left,4:back-right),

有构造方法,可设置轮胎的型号和编号

有方法roll()表示轮胎正在转动(输出下面样例中包含轮胎型号、轮胎位置和“rolling”的字符串)

(3)类Car有字符串属性model记录轿车的型号,有属性wheels[]和engine,分别是Wheel类对象数组和Engine类对象

有构造方法,参数是三个字符串,分别表示轿车的型号、轮胎型号和发动机的型号,

有方法changeWheel()可以改变指定轮胎的型号,

有方法start(),先输出下面样例中包含轿车型号和“firing”的字符串,然后调用engine的start(),再调用所有轮胎的roll(),最后显示轿车型号和“running”。

 

要求编程实现类Car、类Wheel和类Engine,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test
{
    public static void main(String[] args){
        String wheel="BridgeStone";
        String model="BMW";
        String engine="Mode L";
        Car car1=new Car(model,wheel,engine);
        car1.start();
        
        System.out.println("=================");

        model="Benz";
        engine="Model S";
        Car car2=new Car(model,wheel,engine);
        car2.changeWheel(2,"Michelin");
        car2.start();        
    }
}

【输入形式】
【输出形式】
【样例输入】
【样例输出】

鍥剧墖.png

 

package day416;
public class Test
{
    public static void main(String[] args){
        String wheel="BridgeStone";
        String model="BMW";
        String engine="Mode L";
        Car car1=new Car(model,wheel,engine);
        car1.start();
        
        System.out.println("=================");

        model="Benz";
        engine="Model S";
        Car car2=ne
  • 8
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值