一周过去了,在家学习远不如在校学习效率高,不过整体进度还行,数组,类与对象,方法的重载等等,这些之前没有接触过的知识,有时候会让我找不到头脑,盲目的钻牛角尖,但最终都会解决。
尤其是数组学习的最后练习了一道密码加密问题,一开始打代码时的我很自信,后来才发现我自己的作品漏洞百出,在刘意视频的引导下打出了如下代码:
public class test5 {
public static void main(String[] args){
//定义一个数据
int number = 123456;
int[] arr = new int[8];
int index = 0;
//倒序
while(number > 0) {
arr[index] = number % 10;
index++;
number /= 10;
}
//输出数据
for(int x = 0; x< index; x++){
System.out.print(arr[x]);
}
System.out.println();
System.out.println("---------------");
//每位数字加5, 再用除以10的余数代替该数字
for(int x = 0; x< index; x++) {
arr[x] += 5;
arr[x] %= 10;
}
//输出数据
for(int x = 0; x< index; x++){
System.out.print(arr[x]);
}
System.out.println();
System.out.println("---------------");
//将第一位和最后一位数字交换
int temp = arr[0];
arr[0] = arr[index-1];
arr[index-1] = temp;
//输出数据
for(int x = 0; x< index; x++){
System.out.print(arr[x]);
}
}
}
当我正开心于自己的进步时,我发现这个问题的代码还有改进版:
import java.util.Scanner;
public class test5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据(小于8位): ");
int number = sc.nextInt();
//调用方法
String result = jiami(number);
System.out.println("加密后的结果是: "+result);
}
public static String jiami(int number) {
int[] arr = new int[8];
int index = 0;
//把number中的数据转移到数组中
while(number > 0) {
arr[index] = number % 10;
index++;
number /= 10;
}
//每位数字加5, 再用除以10的余数
for(int x = 0; x< index; x++) {
arr[x] += 5;
arr[x] %= 10;
}
//将第一位和最后一位数字交换
int temp = arr[0];
arr[0] = arr[index-1];
arr[index-1] = temp;
String s = "";
for(int x = 0; x < index; x++) {
s +=arr[x];
}
return s;
}
}
Java的学习无止境越往后越精彩,当我学到类与对象时类的定义,对象的使用,单个对象,多个对象也是十分精彩,再往后成员变量与方法的学习让我看到我所打出的代码越来越高级。
接下来的学习我也会越来越努力,克服在家学习效率的问题。
希望我们都能够早日克服自己在之前学习中出现的问题,成为更好的自己!