/*今天刚学习了dowhile。利用在前面的周易程序里。可以实现在输入时对字符的控制。数字可以控制,对于字母还尚待开发。开始走了些弯路
*String定义包含在了d0while里,造成了二次定义,出现错误。提前定义后就没有问题了。
*
*/
import java.util.*;//一个关于周易测算的程序
public class ZhouYi{
public static void main(String[] args){
int a,b,c;//定义运算结果变量
String num_1,num_2,num_3;//定义三个字符串变量
Scanner input=new Scanner(System.in); //建立输入对象
do{
System.out.println("input one:"); //输入第一个想到的数字;
num_1=input.nextLine();
a=Integer.parseInt(num_1);
System.out.println("input two:");
num_2=input.nextLine();
b=Integer.parseInt(num_2);
System.out.println("input three:");
num_3=input.nextLine();
c=Integer.parseInt(num_3);
}while((a<100 || a>999)||(b<100 || b>999)|| (c<100 || c>999));
a=a%8;
b=b%8;
c=c%6;//通过输入的数字,取余数
a=(a==0)?8:a;//采用三元运算符。判断a是否除尽,除尽则为8
b=(b==0)?8:b;
c=(c==0)?6:c;//爻变如果被除尽,则为6
System.out.println("1-乾 2-兑 3-离 4-震 5-巽 6-坎 7-艮 8-坤");
System.out.println("运算结果为:");
System.out.println("下挂是:"+a);
System.out.println("上卦是:"+b);
System.out.println("变爻是:"+c);
a=a-1; //对应7-乾 6-兑 5-离 4-震 3-巽 2-坎 1-艮 0-坤
b=b-1;
for (int i=1;i<=3;i++){ //运行三次
if((a%2)==0){
System.out.print("---"+' ');
}else{
System.out.print("- -"+' ');
}
a=a>>1;//a变量移位处理,以判断第二三位1.0
if((b%2)==0){
System.out.println("---"+' ');
}else{
System.out.println("- -"+' ');
}
b=b>>1;//b变量移位处理
}
}
}
public class ZhouYi{
public static void main(String[] args){
int a,b,c;//定义运算结果变量
String num_1,num_2,num_3;//定义三个字符串变量
Scanner input=new Scanner(System.in); //建立输入对象
do{
System.out.println("input one:"); //输入第一个想到的数字;
num_1=input.nextLine();
a=Integer.parseInt(num_1);
System.out.println("input two:");
num_2=input.nextLine();
b=Integer.parseInt(num_2);
System.out.println("input three:");
num_3=input.nextLine();
c=Integer.parseInt(num_3);
}while((a<100 || a>999)||(b<100 || b>999)|| (c<100 || c>999));
a=a%8;
b=b%8;
c=c%6;//通过输入的数字,取余数
a=(a==0)?8:a;//采用三元运算符。判断a是否除尽,除尽则为8
b=(b==0)?8:b;
c=(c==0)?6:c;//爻变如果被除尽,则为6
System.out.println("1-乾 2-兑 3-离 4-震 5-巽 6-坎 7-艮 8-坤");
System.out.println("运算结果为:");
System.out.println("下挂是:"+a);
System.out.println("上卦是:"+b);
System.out.println("变爻是:"+c);
a=a-1; //对应7-乾 6-兑 5-离 4-震 3-巽 2-坎 1-艮 0-坤
b=b-1;
for (int i=1;i<=3;i++){ //运行三次
if((a%2)==0){
System.out.print("---"+' ');
}else{
System.out.print("- -"+' ');
}
a=a>>1;//a变量移位处理,以判断第二三位1.0
if((b%2)==0){
System.out.println("---"+' ');
}else{
System.out.println("- -"+' ');
}
b=b>>1;//b变量移位处理
}
}
}