JAVA学习日志 关于调用方法、生成对象的例子。还是用数字卦程序修改

今天学习如何调用方法,生成,建立对象。将程序在原数字卦程序里做了很多修改。多了一个CalculateData对象,作为存储卦象信息,增加了名字,便于以后学会存储之后多人进行记录。输入部分从原来的nextline(),换成nextint();好处是省下了转换的麻烦。再就是根据IDE的提示,input输入对象建立后用完应当关闭释放内存
package mypro;

/**
 * 关于周易数字卦的一个算法
 * @author 冯世磊
 */
import java.util.Scanner;

public class ZhouYi {
	/**
	 * 定义了一个calculateProcess方法。用于计算数字卦中的上下卦,及变变爻
	 * @param m 是CalculateData
	 */
	public static void calculateProcess(CalculateData m) { // 定义一个计算过程,返回数字
		Scanner input = new Scanner(System.in); // 建立输入对象
		do {
			System.out.println("输入第一个想到的数字:"); // 输入第一个想到的数字;
			m.downGua = input.nextInt();
			System.out.println("输入第二个想到的数字:");
			m.upGua = input.nextInt();
			System.out.println("输入第三个想到的数字:");
			m.bianYao = input.nextInt();
			input.close();//关闭输入对象
		} while ((m.downGua < 100 || m.downGua > 999) || (m.upGua < 100 || m.upGua > 999)
				|| (m.bianYao < 100 || m.bianYao > 999));// 将输入的数字锁定在三位数,否则重新开始输入
		m.downGua = m.downGua % 8;
		m.upGua = m.upGua % 8;
		m.bianYao = m.bianYao % 6;// 通过输入的数字,取余数
		m.downGua = (m.downGua == 0) ? 8 : m.downGua;// 采用三元运算符。判断a是否除尽,除尽则为8
		m.upGua = (m.upGua == 0) ? 8 : m.upGua;
		m.bianYao = (m.bianYao == 0) ? 6 : m.bianYao;// 爻变如果被除尽,则为6
	}

	public static void main(String[] args) {
		CalculateData s1=new CalculateData();//生成s1 CanlculateData对象
		calculateProcess(s1);//执行运算的过程
		s1.name="冯世磊";
		System.out.println("1-乾 2-兑 3-离 4-震 5-巽 6-坎 7-艮 8-坤");
		System.out.println(s1.name+"您的运算结果为:");
		System.out.println("下挂是:" + s1.downGua);
		System.out.println("上卦是:" + s1.upGua);
		System.out.println("变爻是:" + s1.bianYao);
		s1.downGua = s1.downGua - 1; // 对应7-乾 6-兑 5-离 4-震 3-巽 2-坎 1-艮 0-坤
		s1.upGua = s1.upGua - 1;
		for (int i = 1; i <= 3; i++) { // 运行三次
			if ((s1.downGua % 2) == 0) {
				System.out.print("---" + ' ');
			} else {
				System.out.print("- -" + ' ');
			}
			s1.downGua = s1.downGua >> 1;// a变量移位处理,以判断第二三位1.0
			if ((s1.upGua % 2) == 0) {
				System.out.println("---" + ' ');
			} else {
				System.out.println("- -" + ' ');
			}
			s1.upGua = s1.upGua >> 1;// b变量移位处理
		}
	}
}
另一个类,CalculateData.java
package mypro;

public class CalculateData {
	int upGua,downGua,bianYao;
	String name;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值