【安卓】Android Studio简易计算器(实现加减乘除,整数小数运算,正数负数运算)

目录

前言

运算效果

一、创建一个新的项目

二、编写xml文件(计算器显示页面)

三、实现Java运算逻辑

​编辑

完整代码

xml文件代码:

 Java文件代码:

注:


前言

随着移动互联网的普及,手机应用程序已经成为人们生活中不可或缺的一部分。计算器是一类被广泛使用的应用程序之一,因此学习如何开发一款简易的计算器应用程序是学习Android Studio开发的一个很好的开始。

Android Studio是一款Google开发的用于创建安卓应用的集成开发环境(IDE), 它可以帮助开发者快速设计、开发和测试应用程序。接下来我将为大家介绍如何使用Android Studio创建一个简易的计算器应用程序。

运算效果

一、创建一个新的项目

完成上面步骤以后,点击Finish,等待加载好项目就可以继续下面的步骤了

二、编写xml文件(计算器显示页面)

打开activity_main.xml文件: res --> layout --> activity_main.xml

可以模仿主流计算器或者自己手机上面的计算器的版式来设计你的计算页面样式。

xml文件代码附到最后啦,根据自己需要自行截取复制。

然后页面显示的样子就是下面这样的:

三、实现Java运算逻辑

写好基本的显示页面后,咱就得来完成逻辑运算和点击事件了

点开MainActivity.java文件:

Java逻辑要完成的主要是如何设计点击事件以及如何实现加减乘除的逻辑

完整代码

xml文件代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"app:circularflow_angles="20"tools:context=".MainActivity">
<!--csdn 波士顿o泡果奶 版权所有 --><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout"android:layout_width="match_parent"android:layout_height="80dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><ImageViewandroid:id="@+id/imageView"android:layout_width="29dp"android:layout_height="25dp"android:layout_marginTop="18dp"android:layout_marginEnd="10dp"app:layout_constraintEnd_toStartOf="@+id/imageView2"app:layout_constraintTop_toTopOf="parent"app:srcCompat="@drawable/img" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="32dp"android:layout_height="29dp"android:layout_marginTop="16dp"android:layout_marginEnd="16dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent"app:srcCompat="@drawable/img_1" /><TextViewandroid:id="@+id/textView"android:layout_width="65dp"android:layout_height="41dp"android:layout_marginStart="16dp"android:layout_marginTop="7dp"android:text="计算"android:textColor="#010101"android:textSize="31dp"android:textStyle="bold"app:autoSizeTextType="none"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="9dp"android:layout_marginTop="14dp"android:text="汇率"android:textColor="#B2B2B2"android:textSize="25dp"android:textStyle="bold"app:layout_constraintStart_toEndOf="@+id/textView"app:layout_constraintTop_toTopOf="parent" /><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="57dp"android:layout_height="3dp"android:layout_marginStart="19dp"android:background="#FF0101"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView"></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout2"android:layout_width="410dp"android:layout_height="178dp"android:background="#FFFFFF"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout"><EditTextandroid:id="@+id/editTextText2"android:layout_width="409dp"android:layout_height="83dp"android:layout_marginStart="2dp"android:layout_marginTop="76dp"android:ems="10"android:inputType="text"android:textSize="50sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="466dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout2"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout51"android:layout_width="409dp"android:layout_height="89.8dp"android:background="#FFFFFF"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.cardview.widget.CardViewandroid:id="@+id/cardView2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/AC"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView12"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="18dp"android:layout_marginTop="16dp"android:text="AC"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.cardview.widget.CardViewandroid:id="@+id/cardView"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView2"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/dl"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/imageView3"android:layout_width="48dp"android:layout_height="30dp"android:layout_marginStart="14dp"android:layout_marginTop="28dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:srcCompat="@drawable/img_4" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.cardview.widget.CardViewandroid:id="@+id/cardView3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView4"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView14"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp"android:layout_marginTop="16dp"android:text="+/-"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.cardview.widget.CardViewandroid:id="@+id/cardView4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F6E9E8"app:cardCornerRadius="45dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView3"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/D"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView15"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="10dp"android:text="÷ "android:textSize="42sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout54"android:layout_width="409dp"android:layout_height="89.8dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout51"><androidx.cardview.widget.CardViewandroid:id="@+id/cardView2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/seven"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView16"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="17dp"android:text="7"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView2"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/eight"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView17"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="17dp"android:text="8"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView4"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/nine"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView18"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="17dp"android:text="9"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F6E9E8"app:cardCornerRadius="45dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView3"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/X"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView19"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="31dp"android:layout_marginTop="14dp"android:text="x"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout52"android:layout_width="409dp"android:layout_height="89.8dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout54"><androidx.cardview.widget.CardViewandroid:id="@+id/cardView2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/four"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView20"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="4"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView2"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/five"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView21"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="5"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView4"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/six"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView22"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="6"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F6E9E8"app:cardBackgroundColor="#F6E9E8"app:cardCornerRadius="45dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView3"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/sub"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView23"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="35dp"android:layout_marginTop="16dp"android:text="-"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/constraintLayout53"android:layout_width="409dp"android:layout_height="89.8dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout52"><androidx.cardview.widget.CardViewandroid:id="@+id/cardView2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/one"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView24"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="1"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView2"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/two"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView25"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="2"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView4"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/three"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView26"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="3"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F6E9E8"app:cardCornerRadius="45dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView3"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/add"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView27"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="16dp"android:text="+"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="409dp"android:layout_height="89.8dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/constraintLayout53"><androidx.cardview.widget.CardViewandroid:id="@+id/cardView2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/yu"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView28"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="27dp"android:layout_marginTop="17dp"android:text="%"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView2"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/zero"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView29"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="30dp"android:layout_marginTop="17dp"android:text="0"android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F2F1F1"app:cardCornerRadius="45dp"app:layout_constraintEnd_toStartOf="@+id/cardView4"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/point"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView30"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="36dp"android:layout_marginTop="17dp"android:text="."android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /><androidx.cardview.widget.CardViewandroid:id="@+id/cardView4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="5dp"android:background="#F2F1F1"app:cardBackgroundColor="#F85955"app:cardCornerRadius="45dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cardView3"app:layout_constraintTop_toTopOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/equal"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView32"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="31dp"android:layout_marginTop="16dp"android:text="="android:textSize="35sp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.cardview.widget.CardView><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

 Java文件代码:

import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private  StringBuilder show=new StringBuilder();private  ArrayList calculate_equation;private  int signal=0;//为0 时表示刚输入状态;为1时表示当前在输出结果上继续输入@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);show=new StringBuilder();calculate_equation=new ArrayList<>();
//李木ConstraintLayout AC = findViewById(R.id.AC);ConstraintLayout Divide = findViewById(R.id.D);ConstraintLayout Multiplication = findViewById(R.id.X);ConstraintLayout Sub = findViewById(R.id.sub);ConstraintLayout Add = findViewById(R.id.add);ConstraintLayout Equal = findViewById(R.id.equal);ConstraintLayout Point = findViewById(R.id.point);ConstraintLayout one = findViewById(R.id.one);ConstraintLayout two = findViewById(R.id.two);ConstraintLayout three = findViewById(R.id.three);ConstraintLayout four = findViewById(R.id.four);ConstraintLayout five = findViewById(R.id.five);ConstraintLayout six = findViewById(R.id.six);ConstraintLayout seven = findViewById(R.id.seven);ConstraintLayout eight = findViewById(R.id.eight);ConstraintLayout nine = findViewById(R.id.nine);ConstraintLayout zero = findViewById(R.id.zero);EditText result=findViewById(R.id.editTextText2);AC.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {show.delete(0,show.length());show.append("");result.setText(show);result.setSelection(result.getText().length());signal=0;}});zero.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v){if(!(show.toString().equals("0"))){if(signal==0){show.append("0");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("0");result.setText(show);result.setSelection(result.getText().length());signal=0;}}}});one.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("1");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("1");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});two.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("2");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("2");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});three.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("3");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("3");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});four.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("4");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("4");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});five.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("5");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("5");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});six.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("6");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("6");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});seven.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("7");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("7");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});eight.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("8");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("8");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});nine.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){show.append("9");result.setText(show);result.setSelection(result.getText().length());}else{show.delete(0,show.length());show.append("9");result.setText(show);result.setSelection(result.getText().length());signal=0;}}});Point.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(signal==0){String a=show.toString();if(a.equals("")){show.append(".");result.setText(show);result.setSelection(result.getText().length());}else{int i;char t='0';for(i=a.length();i>0;i--){t=a.charAt(i-1);if(t=='.'||t=='+'||t=='-'||t=='*'||t=='/')break;}if(i==0){show.append(".");result.setText(show);result.setSelection(result.getText().length());}else if(t=='+'||t=='-'||t=='*'||t=='/'){show.append(".");result.setText(show);result.setSelection(result.getText().length());}}}else{show.delete(0,show.length());show.append(".");result.setText(".");result.setSelection(result.getText().length());signal=0;}}});Equal.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//判断用户是否输入了内容if(!show.toString().equals("")){signal=1;char temp=show.charAt(show.length()-1);if(show.charAt(0)=='-')show.insert(0,"0");if(temp=='+'||temp=='-')show.append("0");if(temp=='*'||temp=='/')show.append("1");StringBuilder temp1=new StringBuilder();for(int i=0;i<show.length();i++){if(show.charAt(i)>='0'&&show.charAt(i)<='9'||show.charAt(i)=='.'){temp1.append(String.valueOf(show.charAt(i)));}else if(show.charAt(i)=='N'){calculate_equation.add("NaN");i=i+2;}else if(show.charAt(i)=='∞'){calculate_equation.add("∞");}else{if(temp1.length()!=0){calculate_equation.add(temp1.toString());temp1.delete(0,temp1.length());}calculate_equation.add(String.valueOf(show.charAt(i)));}}if(temp1.length()!=0){calculate_equation.add(temp1.toString());}calculate_equation.add("#");String temp8=calculate(calculate_equation);result.setText(temp8);result.setSelection(result.getText().length());show.delete(0,show.length());calculate_equation.clear();show.append(temp8);}}});Add.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//判断用户是否输入了内容if(!(show.toString().equals(""))) {signal=0;char temp=show.charAt(show.length()-1);if(temp=='+'||temp=='-'||temp=='*'||temp=='/'){show.deleteCharAt(show.length()-1);show.append("+");}elseshow.append("+");result.setText(show);result.setSelection(result.getText().length());}}});Sub.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//判断用户是否输入了内容if(!(show.toString().equals(""))) {signal=0;char temp=show.charAt(show.length()-1);if(temp=='+'||temp=='-'||temp=='*'||temp=='/'){show.deleteCharAt(show.length()-1);show.append("-");}elseshow.append("-");result.setText(show);result.setSelection(result.getText().length());}}});Multiplication.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//判断用户是否输入了内容if(!(show.toString().equals(""))) {signal=0;char temp=show.charAt(show.length()-1);if(temp=='+'||temp=='-'||temp=='*'||temp=='/'){show.deleteCharAt(show.length()-1);show.append("*");}elseshow.append("*");result.setText(show);result.setSelection(result.getText().length());}}});Divide.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//判断用户是否输入了内容if(!(show.toString().equals(""))) {signal=0;char temp=show.charAt(show.length()-1);if(temp=='+'||temp=='-'||temp=='*'||temp=='/'){show.deleteCharAt(show.length()-1);show.append("/");}elseshow.append("/");result.setText(show);result.setSelection(result.getText().length());}}});}protected boolean operatorPriorityCompare(char operator1,char operator2){int o1=0;int o2=0;switch (operator1){case '+':{o1=0;break;}case '-':{o1=0;break;}case '*':{o1=1;break;}case '/':{o1=1;break;}}switch (operator2){case '+':{o2=0;break;}case '-':{o2=0;break;}case '*':{o2=1;break;}case '/':{o2=1;break;}}if(o1<=o2){return false;}elsereturn true;}//相加public static Double Add(Double d1,Double d2) {if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){return d1+d2;}if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){return d1+d2;}BigDecimal b1 = new BigDecimal(Double.toString(d1));BigDecimal b2 = new BigDecimal(Double.toString(d2));return b1.add(b2).doubleValue();}//相减public static Double Sub(Double d1,Double d2){if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){return d1-d2;}if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){return d1-d2;}if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){return d1*d2;}BigDecimal b1=new BigDecimal(Double.toString(d1));BigDecimal b2=new BigDecimal(Double.toString(d2));return b1.subtract(b2).doubleValue();}//相乘public static Double Mul(Double d1,Double d2){if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){return d1*d2;}if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){return d1*d2;}BigDecimal b1=new BigDecimal(Double.toString(d1));BigDecimal b2=new BigDecimal(Double.toString(d2));return b1.multiply(b2).setScale(8).doubleValue();}//相除public static Double Div(Double d1,Double d2){if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){return d1/d2;}if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){return d1/d2;}if(d1==0.0&&d2==0.0){return Double.NaN;}if(d2==0.0){return d1/d2;}BigDecimal b1=new BigDecimal(Double.toString(d1));BigDecimal b2=new BigDecimal(Double.toString(d2));return b1.divide(b2,8,BigDecimal.ROUND_HALF_UP).doubleValue();}protected String calculate(ArrayList equation){Double temp2;Double temp3;Double result;List operator=new ArrayList();List<Double> operand=new ArrayList();for(int i=0;i<equation.size();i++){String temp4=(String) equation.get(i);if(temp4.equals("+")||temp4.equals("-")||temp4.equals("*")||temp4.equals("/")){if(operator.size()>0){String temp5=operator.get(operator.size()-1).toString();while(!(operatorPriorityCompare(temp4.charAt(0),temp5.charAt(0)))&&operator.size()>0){operator.remove(operator.size()-1);temp3=operand.get(operand.size()-1);operand.remove(operand.size()-1);temp2=operand.get(operand.size()-1);operand.remove(operand.size()-1);switch (temp5.charAt(0)){case '+':{result=Add(temp2,temp3);operand.add(result);break;}case '-':{result=Sub(temp2,temp3);operand.add(result);break;}case '*':{result=Mul(temp2,temp3);operand.add(result);break;}case '/':{result=Div(temp2,temp3);operand.add(result);break;}}if(operator.size()>0){temp5=operator.get(operator.size()-1).toString();}elsebreak;}operator.add(temp4);}elseoperator.add(temp4);}else if(temp4.equals("#")){while(operator.size()>0){String temp6=(String)operator.get(operator.size()-1);operator.remove(operator.size()-1);temp3=operand.get(operand.size()-1);operand.remove(operand.size()-1);temp2=operand.get(operand.size()-1);operand.remove(operand.size()-1);switch (temp6.charAt(0)){case '+':{result=Add(temp2,temp3);operand.add(result);break;}case '-':{result=Sub(temp2,temp3);operand.add(result);break;}case '*':{result=Mul(temp2,temp3);operand.add(result);break;}case '/':{result=Div(temp2,temp3);operand.add(result);break;}}}}else{if(temp4.equals("NaN")){operand.add(Double.NaN);}else if(temp4.equals("∞")){operand.add(Double.POSITIVE_INFINITY);}else{operand.add(Double.parseDouble(temp4));}}}if(operand.get(0)==Double.NEGATIVE_INFINITY) return "-∞";if(operand.get(0)==Double.POSITIVE_INFINITY) return "∞";return operand.get(0).toString();}
}/*
* csdn 波士顿o泡果奶 版权所有 */

注:

xml文件中有一些图片,若完全粘贴xml代码,可将图片换成自己的图片,图片资源放到哪里,这里我就不多说了,可以参考下面的那些博客安卓studio图片资源放到哪里- CSDN搜索icon-default.png?t=N7T8https://so.csdn.net/so/search?q=%E5%AE%89%E5%8D%93studio%E5%9B%BE%E7%89%87%E8%B5%84%E6%BA%90%E6%94%BE%E5%88%B0%E5%93%AA%E9%87%8C&t=&u=&urw=

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux_基础

文件结构 Linux的文件结构是一个倒的树状图&#xff0c;具体结构如下&#xff1a; bin&#xff1a;存放二进制文件 boot&#xff1a;存放系统启动文件 dev&#xff1a;存放设备文件 etc&#xff1a;存放系统管理时要用到的各种配置文件和子目录 lib&#xff1a;存放系统动…

【Vue2】3-使用Vue脚手架

目录 初始化脚手架 说明 具体步骤 模板项目的结构 关于不同版本的Vue vue.config.js配置文件 ref属性 配置项props mixin&#xff08;混入&#xff09; 插件 scoped样式 总结TodoList案例 webStorage&#xff08;浏览器本地存储&#xff09; TodoList本地存储 组…

【初阶数据结构篇】栈的实现(赋源码)

文章目录 栈1 代码位置2 概念与结构1.1概念1.2结构 2 栈的实现2.1 栈的初始化和销毁2.1.1 初始化2.1.2 销毁 2.2 栈顶插入和删除数据2.2.1 栈顶插入数据&#xff08;压栈&#xff09;2.2.2 栈顶删除数据&#xff08;出栈&#xff09; 2.3 返回栈顶数据2.4 返回栈的有效数据个数…

嵌入式人工智能(31-基于树莓派4B的气压传感器-BMP280)

1、气压传感器 气压传感器&#xff08;Pressure Sensor&#xff09;是一种用于测量气体压力的装置。它可以将气体压力转换为电信号输出&#xff0c;进而实现对气体压力的监测和控制。气压传感器广泛应用于工业自动化、气象观测、建筑监测、航空航天等领域。 气压传感器的工作…

未来的智能农业:智能合约如何提升农业生产效率和可持续性

随着全球人口的增长和资源的有限性&#xff0c;农业生产面临着越来越大的挑战。如何在提高生产效率的同时保障可持续发展成为全球农业发展的关键问题。智能合约作为一种基于区块链技术的自动化执行合约&#xff0c;正在逐渐应用于农业领域&#xff0c;为农业生产带来了新的机遇…

Redis:RDB持久化

1. 简介 实现类似照片记录效果的方式&#xff0c;就是把某一时刻的数据和状态以文件的形式写到磁盘上&#xff0c;也就是 快照。这样一来即使故障宕机&#xff0c;快照文件也不会丢失&#xff0c;数据的可靠性也就得到了保证。 这个快照文件就称为RDB文件(dump.rdb)&#xff0c…

从代码层面熟悉UniAD,开始学习了解端到端整体架构

0. 简介 最近端到端已经是越来越火了&#xff0c;以UniAD为代表的很多工作不断地在不断刷新端到端的指标&#xff0c;比如最近SparseDrive又重新刷新了所有任务的指标。在端到端火热起来之前&#xff0c;成熟的模块化自动驾驶系统被分解为不同的独立任务&#xff0c;例如感知、…

数据倾斜优化思路实践

数据倾斜&#xff0c;顾名思义&#xff0c;就是在计算过程中数据分散度不够&#xff0c;导致某个节点数据过于集中&#xff0c;从而导致任务执行效率大大降低。参照对比下MR的整体流程和ODPS&#xff0c;整体结合理解数据倾斜发生的几个生命周期的节点&#xff0c;如下图&#…

WordPress设置固定连接后提示404

WordPress设置固定链接后出现404错误通常是因为服务器的伪静态规则没有正确设置。以下是几种常见的服务器环境下的解决方案&#xff1a; 宝塔面板&#xff1a;如果服务器安装了宝塔面板&#xff0c;可以在宝塔面板中选择对应的WordPress伪静态规则并保存设置 。 Apache服务器&a…

Linux——DNS服务搭建

&#xff08;一&#xff09;搭建nginx 1.首先布置基本环境 要求能够ping通外网&#xff0c;有yum源 2.安装nginx yum -y install nginx 然后查看验证 3.修改网页配置文件 修改文件&#xff0c;任意编写内容&#xff0c;然后去物理机测试 &#xff08;二&#xff09;创建一…

C++知识点总结:2.类和对象(自用)

类和对象 1. 类和对象的关系2. 对象指针3. 在堆上创建对象4. 成员访问限定符5. 名字编码&#xff08;Name Mangling&#xff09;6.构造函数7.构造函数的重载8.初始化列表8. 成员变量初始化的顺序&#xff08;通过初始化列表&#xff09;9. 初始化 const 成员变量10. 析构函数11…

【机器学习】pytorch 常用函数解析

目录 一、基本函数介绍 1.1 nn.Module 类 1.2 nn.Embedding 1.3 nn.LSTM 1.4 nn.Linear 1.5 nn.CrossEntropyLoss 1.6 torch.save 1.7 torch.load 1.8 nn.functional 1.9 nn.functional.softmax 本文主要对 pytorch 中用到的函数进行介绍&#xff0c;本文会不断更新~…

C语言内存函数精讲

目录 引言 1.内存分配函数malloc 2.内存释放函数free 3.内存拷贝函数memcpy 4.内存移动函数memmove 5.内存设置函数memset 6.内存比较函数memcmp 总结 引言 在C语言编程中&#xff0c;内存管理是核心技能之一。C语言提供了一系列内存操作函数&#xff0c;这些函数在动…

jmeter-beanshell学习-try处理异常

有时候代码执行过程中&#xff0c;出现一些不能处理的情况&#xff0c;就会报错&#xff0c;还影响之后的代码执行&#xff0c;就需要跳过异常。 上面这情况报错了&#xff0c;还影响了下面的打印。beanshell用try和catch处理异常&#xff0c;下面是try的用法&#xff0c;和if有…

技术守护尊严||Chat GPT在抵抗性骚扰的作用分析

就在本周&#xff0c;中国人民大学女博士实名举报导师性骚扰的事情&#xff0c;引发全网关注&#xff01; 性骚扰&#xff0c;无论在线上还是线下&#xff0c;无论在职场还是校园&#xff0c;都是对个人尊严与权益的严重侵犯。 幸运的是&#xff0c;随着人工智能技术的飞速发…

优化冗余代码:提升前端项目开发效率的实用方法

目录 前言代码复用与组件化模块化开发与代码分割工具辅助与自动化结束语 前言 在前端开发中&#xff0c;我们常常会遇到代码冗余的问题&#xff0c;这不仅增加了代码量&#xff0c;还影响了项目的可维护性和开发效率。还有就是有时候会接到紧急业务需求&#xff0c;要求立马完…

[网络通信原理]——TCP/IP模型—网络层

网络层 网络层概述 网络层位于OSI模型的第三层&#xff0c;它定义网络设备的逻辑地址&#xff0c;也就是我们说的IP地址&#xff0c;能够在不同的网段之间选择最佳数据转发路径。在网络层中有许多协议&#xff0c;其中主要的协议是IP协议。 IP数据包格式 IP数据报是可变长度…

《最新出炉》系列入门篇-Python+Playwright自动化测试-55- 上传文件 (非input控件)- 中篇

软件测试微信群&#xff1a;https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 在实际工作中&#xff0c;我们进行web自动化的时候&#xff0c;文件上传是很常见的操作&#xff0c;例如上传用户头像&#xff0c;上传身份证信息等。所以宏哥打算按上传文件…

Java从入门到精通(十二)~ 动态代理

晚上好&#xff0c;愿这深深的夜色给你带来安宁&#xff0c;让温馨的夜晚抚平你一天的疲惫&#xff0c;美好的梦想在这个寂静的夜晚悄悄成长。 文章目录 目录 前言 主要作用和功能&#xff1a; 应用场景&#xff1a; 二、代理概念 1.静态代理 2.动态代理 2.1 概念介绍 …

网址导航系统PHP源码分享

1、采用光年全新v5模板开发后台 2、后台内置8款主题色&#xff0c;分别是简约白、炫光绿、渐变紫、活力橙、少女粉、少女紫、科幻蓝、护眼黑 3、可管理无数引导页主题并且主题内可以进行不同的自定义设置&#xff0c;目前内置16套主题 持续增加中… 4、可单独开发各种插件&a…