今天按顺序进入基础之选择语句,一到这里编写这些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;
}
}
这几天巩固这些基础的时候,是先自己想,然后着手写,最后在结合书上的例子思考和想啊想。