问题描述
在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;
}
}
}