最近在忙实习和毕业,实在是比较忙,没有什么折腾着玩的,各位有什么有意思的小项目可以在下面留言给我
最近黑龙江新冠传播特别的快,我的小伙伴们基本上都阳了。也请各位小伙伴们保重身体,注意个人防护。
最近黑龙江新冠传播特别的快,我的小伙伴们基本上都阳了。也请各位小伙伴们保重身体,注意个人防护。
思路是这样的 首先 先刷入一个 有ROOT权限的第三方安卓,这个我已经找好了可用于S905L处理器的刷机包了,但是这个镜像刷入以后不能使用原装遥控了,因为input/event 对不上。所以说刷之前先准备好一个USB键盘。 刷入有ROOT权限的安卓以后,把armbian刷入一张SD卡,并且调整好外置启动文件,这里有一个很大的坑我一会会说。最后将系统写入原厂的e-nand 。 没错 2022年的中兴盒子把emmc换成了e-nand 这也是很多人发现写入时找不到emmc的原因了,这个问题我摸索了一阵已经解决了,这边我会说下思路,并且把已经修改好的文件上传到包里,供小白们 直接用。
首先刷入第三方安卓,第一个问题就是与老版本盒子不同的是,短接的电阻有了变化。不是c125而是 c119。
步骤是用双公USB连接到电脑后(靠近以太网接口的那个USB)短接C119的两端然后通电,刷机软件会检测到设备,然后导入镜像勾选擦除flash,和刷鞋boot loader,点开始就可以,软件和镜像以及所有会用到的东西,我都会放在文章最后的网盘里供大家下载
2.第二步,刷入第三方安卓以后,准备一个U盘将Reboot to LibreELEC.apk 放入U盘内,然后把U盘插入到盒子上安装它,将注意这时候我们就不能使用遥控器来控制了,要通过键盘来控制盒子。
3.第三步,先在电脑上把armbian写入到TF卡中,用的工具可以随意,win32diskimager什么的都可以,我用的是树莓派的写卡工具,写入好后重新拔插一下读卡器,会认到一个boot的FAT32盘符,这些玩过树莓派和其他嵌入式板子的小伙伴们会很熟悉
编辑配置文件 exlinux.conf 把所有前面没有打#号注释掉的都注释掉。然后删掉meson-gxl-s905x-p212.dtb前的#号和最后一行的#号 解除掉这两个注释 exlinux配置就算结束了。回到BOOT根目录把u-boot-s905x-p212,重命名为u-boot.ext。接下来非常关键,要去dtb文件夹里找到meson-gxl-s905x-p212.dtb删掉用我给的meson-gxl-s905x-p212.dtb来替换它,这直接影响到你是否能正常的把armbian写入到emmc,如果不这么做,你在写卡部分会提示找不到emmc原因就是新款中兴盒子把emmc换成e-nand 它的频率从 0x5f5e100 变到了 0x2faf080 如果你有兴趣的话可以使用device-tree-compiler自己更改这个数值 ,篇幅问题我不再详述。
4.第五步就是把TF卡插到盒子上,启动Reboot to LibreELEC 然后授予ROOT权限它会自动重启 进入TF卡上的ARMBIAN 进入系统后设置root密码和初始账户密码 然后使用root登录并且严格按照我下面的操作来做
cd /boot
chmod 755 install-aml.sh
./install-aml.sh
如果不出问题的话 armbian会写入到EMMC中,如果提示找不到emmc或者正在使用emmc 请检查上一步是否替换了dtb。
import javax.swing.*;
import java.awt.*;
public class test_five extends JFrame{
JTextField jtf1;
JPasswordField jpf2;
public test_five() {
JPanel jp1,jp2,jp3;
JLabel jl1,jl2;
JButton jb1,jb2;
jp1 = new JPanel();
jl1 = new JLabel("用户名");
jtf1 = new JTextField(10);
jp1.add(jl1);
jp1.add(jtf1);
jp2 = new JPanel();
jl2 = new JLabel("密 码");
jpf2 = new JPasswordField(10);
jp2.add(jl2);
jp2.add(jpf2);
jp3 = new JPanel();
jb1 = new JButton("登录");
jb2 = new JButton("退出");
jp3.add(jb1);
jp3.add(jb2);
add(jp1);add(jp2);add(jp3);
//设置窗口属性部分
setLayout(new GridLayout(3, 1));
setTitle("用户登录");
setSize(321,169);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new test_five();
}
}
class St
{int m;
int b;
public void setab(int x,int y)
{m=x;
b=y;
}
public void print()
{System.out.println("m="+m+"\n"+"b="+b);
}
};
class St{
int m;
int b;
public void setab(int x,int y){m=x;
b=y;
}
public void print(){System.out.println("m="+m+"\n"+"b="+b);
}
};
class StBt extends St {
int sum;
public void display (){
sum = m*b;
System.out.print("m*b=" + sum);
}
}
class test_four{
public static void main(String[] args) {
StBt a = new StBt();
a.setab(2, 3);
a.print();
a.display();
}
}
class Rectangle {
double width;
double height;
double depth;
public Rectangle() {
width = 1.0;
height = 1.0;
depth = 1.0;
}
public Rectangle(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
void getBox() {
System.out.println("box宽 :" + width);
System.out.println("box高 :" + height);
System.out.println("box深度:" + depth);
}
void volume() {
System.out.println("BOX体积:" + (width * height * depth));
}
void s() {
System.out.println("BOX面积 :" + 2
* (width * height + width * depth + height * depth));
}
}
public class test_three{
public static void main(String[] args) {
Rectangle box1 = new Rectangle();
System.out.println("第一个盒子:");
box1.getBox();
box1.volume();
box1.s();
System.out.println("第二个盒子");
Rectangle box2 = new Rectangle(5, 2, 5);
box2.getBox();
box2.volume();
box2.s();
}
}
public class test_two {
public static void main(String[] args) {
System.out.println("圆的面积:" + area(2));
System.out.println("正方形的面积:" + area(3));
System.out.println("矩形的面积:" + area(3,4));
}
//圆的面积
public static double area(float radius){
return Math.PI * radius * radius;
}
//正方形的面积
public static double area(double bian){
return bian * bian;}
//矩形的面积
public static double area(double width, double height){
return width * height;
}
}
import java.util.Scanner;
/**
第一题 1. (20分) 编写一个程序,实现从键盘输入6个学生的一门课程成绩,求出这6个学生的最高分,最低分以及平均分并输出。(用数组实现)
*/
public class test_one {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sub = 6;
int sum = 0; //总分
int max = 0; //最大值
int min = 100; //最小值
int i = 1;
while(i<=sub){
System.out.println("请输入第"+i+"科分数");
int exam = sc.nextInt();
sum+=exam;
if (max<exam){ //判断最大值
max = exam;
}
if (min>exam){ //判断最小值
min = exam;
}
i++;
}
System.out.println("最高分为:"+max);
System.out.println("最低分为:"+min);
System.out.println("总分为:"+sum);
System.out.println("平均分为:"+sum*1.0/sub);
}
}
public class person {
private String name;
private String sex;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class xuesheng extends person {
private String studentNo;
public xuesheng(String s) {
}
public xuesheng() {
}
public void Student() {
}
public void Student(String studentNo) {
this.studentNo = studentNo;
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
public static void main(String[] args) {
xuesheng s1= new xuesheng();
s1.setStudentNo("2019101100");
s1.setName("齐勃涵");
s1.setSex("男");
s1.setAge(23);
xuesheng s2=new xuesheng();
s2.setStudentNo("2019101100");
s2.setName("测试");
s2.setSex("女");
s2.setAge(20);
//输出
System.out.println(s1.getStudentNo());
System.out.println(s1.getName());
System.out.println(s1.getSex());
System.out.println(s1.getAge());
System.out.println(s2.getStudentNo());
System.out.println(s2.getName());
System.out.println(s2.getSex());
System.out.println(s2.getAge());
s1=null;
s2=null;
}
}
一个圆类,包含:
属性:圆半径;
方法:构造方法;求面积方法;求周长方法:。
主类,包含:
主方法main(),在主方法中创建圆类的对象c1和c2并初始化,c1的半径为10,c1的半径为20,然后分别显示两个圆的面积和周长。
import java.util.Scanner;
public class yuan {
private double Radius;
public void setRadius(double r)
{
this.Radius=r;
}
public void yuan()
this.Radius=0;
System.out.println("圆");
}
public void yuan(double r)
{
this.Radius=r;
}
public double getRadius()
{
return Radius;
}
public double getArea()
double r=this.Radius;
return r*r*3.14;
}
public double getPerimeter(){
return this.Radius*3.14*2;
}
public void show()
{
Scanner cin=new Scanner(System.in);
System.out.println("请输入半径:");
this.setRadius(cin.nextInt());
System.out.println("半径=;"+this.getRadius());
System.out.println("周长;"+this.getPerimeter());
System.out.println("面积="+this.getArea());
}
public static void main(String args[])
{
yuan c1=new yuan();
yuan c2=new yuan();
c1.show();
c2.show();
}
}
import java.util.Arrays;
public class suiji {
public static void main(String[] args) {
int[] array = new int[10]; // 数组
System.out.println(Arrays.toString(array));
int index = 0; // 索引
while (true) { //while死循环
int no = (int) (Math.random() * 99) + 1; // 随机生成一个整数
boolean flag = true; // 定义一个布尔类型标识
for (int i = 0; i < array.length; i++) {
if (no == array[i]) {
flag = false;
break;
}
}
if (flag) {
array[index] = no;
index = index + 1; // 把数组的索引+1
}
if (index == array.length) {
break;
}
}
System.out.println("数组中的元素=" + Arrays.toString(array));
}
}