纸张尺寸

本文介绍了使用Java编写的三个方法,分别计算输入的A系列纸张名称对应的ISO标准尺寸,通过递归或switch语句按对折规则确定长边和短边的长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述
            在ISO 国际标准中定义了A0 纸张的大小为 1189mm x 841mm.将A0 纸沿长边对折后
            为A1纸大小为 841mm x 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有
            损耗)。将 A1 纸沿长边对折后为 A2 纸依此类推
            输入纸张的名称请输出纸张的大小

输入格式
            输入一行包含一个字符串表示纸张的名称,该名称一定是 A0、A1、A2、A3、A4、A5
            A6、A7、A8、A9之

输出格式
            输出两行,每行包含一个整数,依次表示长边和短边的长度

方法一:

package Show;

import java.util.Scanner;

public class PaperSize_1 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入纸张名称(A0、A1、A2、A3、A4、A5、A6、A7、A8、A9):");
		int length = 1189;
		int width = 841;
		String type = scan.nextLine();
		char c[] = type.toCharArray();
		for(int i = 48; i<c[1]; i++) {
			length /= 2;
			int temp = length;
			length = width;
			width = temp;
		}
		System.out.print("纸张"+type+"的长:"+length+"\n");
		System.out.print("纸张"+type+"的宽:"+width);
	}

}

 方法二:

package Show;

import java.util.Scanner;

public class PaperSize_2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入纸张名称(A0、A1、A2、A3、A4、A5、A6、A7、A8、A9):");
		String s = sc.next();
		int n = s.charAt(1) - '0';
		int a = 1189;
		int b = 841;
		for (int i = 0; i < n; i++) {
			int temp = a / 2;
			a = b;
			b = temp;
		}
		System.out.print("纸张"+s+"的长:"+a+"\n");
		System.out.print("纸张"+s+"的宽:"+b);
	}

}

方法三:

package Show;

import java.util.Scanner;

public class PaperSize {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入纸张名称(A0、A1、A2、A3、A4、A5、A6、A7、A8、A9):");
        String input = scan.nextLine();
        switch(input){
          case "A0":
          System.out.println("1189");
          System.out.println("841");
          break;
          case "A1":
          System.out.println("841");
          System.out.println(1189/2);
          break;
          case "A2":
          System.out.println(1189/2);
          System.out.println(841/2);
          break;
          case "A3":
          System.out.println(841/2);
          System.out.println(1189/2/2);
          break;
          case "A4":
          System.out.println(1189/2/2);
          System.out.println(841/2/2);
          break;
          case "A5":
          System.out.println(841/2/2);
          System.out.println(1189/2/2/2);
          break;
          case "A6":
          System.out.println(1189/2/2/2);
          System.out.println(841/2/2/2);
          break;
          case "A7":
          System.out.println(841/2/2/2);
          System.out.println(1189/2/2/2/2);
          break;
          case "A8":
          System.out.println(1189/2/2/2/2);
          System.out.println(841/2/2/2/2);
          break;
          case "A9":
          System.out.println(841/2/2/2/2);
          System.out.println(1189/2/2/2/2/2);
          break;
        }
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值