烟台做网站公司/成人职业技能培训有哪些项目
【问题描述】
骰子是个立方体每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态。放置在平面上,用L表示向左翻转一次,用R表示向右翻转一次,用F表示向前翻转一次,用B表示向后翻转一次,用A表示逆时针旋转90度,用C表示顺时针旋转90度,现从初始状态开始,根据输入的动作序列,计算得到最终的状态。
【输入形式】输入只包含LRFBAC的字母序列,最大长度为50,可重复
【输出形式】输出经过一系列操作后的序列 注:按左右前后上下顺序输出
【样例输入】LB
【样例输出】5 6 1 2 3 4
我觉得是样例有问题
import java.util.Scanner;public class Main
{public static void main(String[] args){Scanner scanner = new Scanner(System.in);String string = scanner.next();int[] a = { 0, 1, 2, 3, 4, 5, 6 };char[] ch = string.toCharArray();int temp = 0;for (int i = 0; i < ch.length; i++){switch (ch[i]){case 'L':temp = a[5];a[5] = a[2];a[2] = a[6];a[6] = a[1];a[1] = temp;break;case 'R':temp = a[6];a[6] = a[2];a[2] = a[5];a[5] = a[1];a[1] = temp;break;case 'B':temp = a[3];a[3] = a[6];a[6] = a[4];a[4] = a[5];a[5] = temp;break;case 'F':temp = a[3];a[3] = a[5];a[5] = a[4];a[4] = a[6];a[6] = temp;break;case 'A':temp = a[1];a[1] = a[4];a[4] = a[2];a[2] = a[3];a[3] = temp;break;case 'C':temp = a[1];a[1] = a[3];a[3] = a[2];a[2] = a[4];a[4] = temp;break;default:break;}}for (int i = 1; i < a.length; i++){System.out.print(a[i] + " ");}}
}