在MySQL中用数据检索(1)创建新表,新表中包含学号、学生姓名、课程号和总评成绩。其中finalX0.8+dailyX0.2
时间: 2024-11-22 13:35:04 浏览: 23
在MySQL中,如果你想创建一个新的表格来存储学生的学号、姓名、课程号以及综合评价成绩,这个综合成绩通常是按照期末考试成绩占80%加上日常作业成绩占20%计算得出的,你可以使用以下SQL语句来创建这个表:
```sql
CREATE TABLE StudentEvaluation (
id INT AUTO_INCREMENT PRIMARY KEY,
student_id VARCHAR(50) NOT NULL, -- 学号
name VARCHAR(100) NOT NULL, -- 学生姓名
course_code VARCHAR(50), -- 课程号
final_score DECIMAL(5,2), -- 期末考试分数
daily_score DECIMAL(5,2), -- 日常作业分数
overall_score DECIMAL(5,2) AS (final_score * 0.8 + daily_score * 0.2) -- 综合评价成绩(计算字段)
);
```
在这个表中,`overall_score` 是通过表达式计算出来的,它基于 `final_score` 和 `daily_score` 的值,并按比例加权平均。
相关问题
finalX = np.reshape(test[-1], (1, 1, testX.shape[1]))
这是一个将一维数组转换成三维数组的操作,其中test是一个二维数组,testX是test的一个子集。将test子集的最后一行(一维数组)通过np.reshape重新变成一个三维数组,其中第一个维度为1,第二个维度为1,第三个维度为testX的列数。这个操作通常是为了把数据转换成神经网络可以直接处理的输入格式。
制作一个注册用户信息的项目,使用Intent在Activity中进行数据传递,如下图所示为注册界面,输入信息点击“注册”按钮后要跳转到信息展示界面,信息展示界面要显示注册界面传递过来的注册信息且界面布局的控件能够自由移动
好的,我来为您介绍如何使用Intent在Android应用中实现注册用户信息的项目,并在信息展示界面中自由移动控件。
1. 创建注册界面(RegisterActivity):
首先,我们需要创建一个注册界面,包含用户名、密码、邮箱等输入框,以及一个"注册"按钮。
```xml
<!-- res/layout/activity_register.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名" />
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword" />
<EditText
android:id="@+id/et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="邮箱" />
<Button
android:id="@+id/btn_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册" />
</LinearLayout>
```
2. 实现注册逻辑:
在RegisterActivity中,我们需要处理"注册"按钮的点击事件,并使用Intent将用户输入的数据传递到信息展示界面。
```java
// RegisterActivity.java
public class RegisterActivity extends AppCompatActivity {
private EditText etUsername, etPassword, etEmail;
private Button btnRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
etEmail = findViewById(R.id.et_email);
btnRegister = findViewById(R.id.btn_register);
btnRegister.setOnClickListener(v -> {
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
String email = etEmail.getText().toString();
Intent intent = new Intent(RegisterActivity.this, DisplayActivity.class);
intent.putExtra("username", username);
intent.putExtra("password", password);
intent.putExtra("email", email);
startActivity(intent);
});
}
}
```
3. 创建信息展示界面(DisplayActivity):
在信息展示界面中,我们要显示从注册界面传递过来的数据,并实现控件的自由移动。
```xml
<!-- res/layout/activity_display.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:" />
<TextView
android:id="@+id/tv_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码:" />
<TextView
android:id="@+id/tv_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="邮箱:" />
</RelativeLayout>
```
4. 实现控件自由移动:
在DisplayActivity中,我们需要添加触摸事件监听器,实现控件的拖动。
```java
// DisplayActivity.java
public class DisplayActivity extends AppCompatActivity {
private TextView tvUsername, tvPassword, tvEmail;
private RelativeLayout rootLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
tvUsername = findViewById(R.id.tv_username);
tvPassword = findViewById(R.id.tv_password);
tvEmail = findViewById(R.id.tv_email);
rootLayout = findViewById(R.id.root_layout);
Intent intent = getIntent();
String username = intent.getStringExtra("username");
String password = intent.getStringExtra("password");
String email = intent.getStringExtra("email");
tvUsername.setText("用户名: " + username);
tvPassword.setText("密码: " + password);
tvEmail.setText("邮箱: " + email);
// 实现控件自由移动
tvUsername.setOnTouchListener(new DraggableTouchListener(tvUsername, rootLayout));
tvPassword.setOnTouchListener(new DraggableTouchListener(tvPassword, rootLayout));
tvEmail.setOnTouchListener(new DraggableTouchListener(tvEmail, rootLayout));
}
}
```
```java
// DraggableTouchListener.java
public class DraggableTouchListener implements View.OnTouchListener {
private View view;
private RelativeLayout rootLayout;
private int startX, startY;
private int finalX, finalY;
public DraggableTouchListener(View view, RelativeLayout rootLayout) {
this.view = view;
this.rootLayout = rootLayout;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = (int) event.getRawX();
startY = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
finalX = (int) event.getRawX();
finalY = (int) event.getRawY();
int diffX = finalX - startX;
int diffY = finalY - startY;
int newX = v.getLeft() + diffX;
int newY = v.getTop + diffY;
// 防止控件移出屏幕
if (newX < 0) newX = 0;
if (newY < 0) newY = 0;
if (newX + v.getWidth() > rootLayout.getWidth()) newX = rootLayout.getWidth() - v.getWidth();
if (newY + v.getHeight() > rootLayout.getHeight()) newY = rootLayout.getHeight() - v.getHeight();
v.layout(newX, newY, newX + v.getWidth(), newY + v.getHeight());
startX = finalX;
startY = finalY;
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
}
```
阅读全文