Java的选择结构

今天按顺序进入基础之选择语句,一到这里编写这些work,以我自己的能力和书写程序是可以写出来的。

但是真的现在不仅仅是自己写,我觉得多思考多想书上为什么是那样写,不失为一种学习。

首先是简单的选择关于被7整除的程序

import java.util.Scanner;

public class work_1 {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int s;
		System.out.println("请输入一个数:");
		s=input.nextInt();
		if (s%7==0)
			//System.out.println("该数除以7等于:"+String.format("%.2f", s/7));
			System.out.println("该数除以7等于:"+s/7);
		else
			System.out.println("该数不能被7整除");
	}

}
一看到除法,当时就想用用到保留小数功能,结果他喵的这本来就是整数结果,保留个毛线。突出我太冲动没思考的缺点。

然后的work是关于判断字符串里面的大写字母最后输出字符串的程序,自己开始想时就在考虑如何把输入的字符串放入数组里面,想到了取字符串首位的那个功能,最终明白了这个也是有可直接使用的函数。

public class work_2 {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String s;
		System.out.println("请输入字符串:");
		s=input.next();			
		char[] charStr=s.toCharArray();		//此方法可以把输入的字符串放入字符数组里面
		for (int i=0;i<charStr.length;i++){
			if (charStr[i]>=65&&charStr[i]<=90)
				charStr[i]+=32;
			System.out.print(charStr[i]);		//最后不用把整体的数组输出,一个一个输出即可
		}
	}

}
输出结果那里,让我自己写的话还可能会把变化后整体字符串输出,其实一个一个输出是最好的选择。

后来写了两个work都是关于回文数的,第一个是直接判断,第二个是从范围内找。重点也还是判断是否是回文数那里。

public class work_4 {

	public static void main(String[] args) {
		int count=0;
		String str="";
		for (int i=0;i<10000;i++){
			if (isHuiwen(i)){
				count++;
			
					
				if ("".equals(str))		
					str=""+i;
				else
					str+=","+i;
			}
		}
		System.out.println("0到10000以内的回文数一共有["+count+"]个,下面是:");
		System.out.println(str);
	}

	private static boolean isHuiwen(int num) {
		String snum=""+num;		//将数字转换为字符串
		char[] arrynum=snum.toCharArray();
		int length=arrynum.length;
		boolean flag=false;
		for (int i=0;i<arrynum.length/2;i++){
			if (arrynum[i]==arrynum[length-1]){
				flag=true;
			}
			length--;
			
			//	if (arrynum[i]!=arrynum[length-i-1])
			//		break;			
			
			//一个是比较两头是否相同,一个是比较两头是否不同
			//现在看来明显比较不同能提高程序的效率,节省时间
			//以后需要考虑深点
		}
		return flag;
		
	}
我写的时候也没想太深入,用的是头尾比相同。上面的注释已经很明确的 。

程序解决问题真的是挺值得思考的。

今天最后的work巩固了switch的用法,写了简单的。

public class work_5 {

	public static void main(String[] args) {
		String feature;
		Scanner input=new Scanner(System.in);
		System.out.println("请输入您的星座:");
		feature=input.nextLine();
		System.out.println("特征:"+featu(feature));
	}

	private static String featu(String f) {
		String s;
		switch(f){
		case "白羊座":s="热情积极冲动";break;
		case "双子座":s="可爱体贴任性";break;
		default:s="他喵座啊你";
		}
		return s;
	}

}

这几天巩固这些基础的时候,是先自己想,然后着手写,最后在结合书上的例子思考和想啊想。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值