一:本周学习
学习内容:
本周主要学习了:
抽象类和抽象类的应用
接口、内部类
包、final、正则表达式
泛型、集合部分内容
感悟:
- 学习Java到现在已经一个多月了,还是要多动手、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质,举一反三,由点及面。
- 之后的学习要多查API,多接触一些类和方法,并且动手操作,加深印象。
- Java的学习并非没有规律可循,打好基础是非常必要的,这样以后才能做到灵活运用。
下周计划:
- 复习整理第一阶段学习内容,包括课本上的知识点及例题。
- 继续学习下阶段学习内容:泛型与集合,网络编程,HTML,CSS
二:本周练习举例
题目:
键盘录入一个字符串
长度小于等于9且只能是数字,将内容变为罗马数字
注:罗马数字中没有0,可用长度为0的字符串代替
代码
import java.util.Scanner;
import java.util.StringJoiner;
public class Practice {
public static void main(String[] args) {
String s;
while(true){
Scanner sc=new Scanner(System.in);
s = sc.next();
if(check(s)==true)
break;
else {
System.out.println("输入错误,请重新输入");
continue;
}
}
//查表法:数字和数据产生一个对应关系
StringJoiner sj=new StringJoiner(", ");
for (int i = 0; i < s.length(); i++) {
char c=s.charAt(i);
int number=c-48;
String str=change(number);
sj.add(str);
}
System.out.println(sj);
}
public static String change(int number){
String[]arr={"","Ⅰ","Ⅱ","Ⅲ","Ⅳ","Ⅴ","Ⅵ","Ⅶ","Ⅷ","Ⅸ"};
return arr[number];
}
public static boolean check(String s){
if(s.length()>9)
return false;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(c<'0'||c>'9')
return false;
}
return true;
}
}