使用C++进行编程,假设x和y是两个由单链表组成的字符串(其中每个结点只存储一个字符),请编写一个算法,找出x中第一个不在y中出现的字符。
时间: 2023-05-27 16:02:27 浏览: 63
这里提供一份Android Studio实现计算器的代码:
布局文件:
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/text_input"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@android:color/transparent"
android:gravity="end"
android:inputType="none"
android:textSize="40sp"
android:selectAllOnFocus="true" />
<GridLayout
android:layout_below="@+id/text_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rowCount="5"
android:columnCount="4"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false">
<Button
android:id="@+id/button_7"
android:text="7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_8"
android:text="8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_9"
android:text="9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_divide"
android:text="/"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/holo_red_dark"
android:textSize="30sp" />
<Button
android:id="@+id/button_4"
android:text="4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_5"
android:text="5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_6"
android:text="6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_multiply"
android:text="*"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/holo_red_dark"
android:textSize="30sp" />
<Button
android:id="@+id/button_1"
android:text="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_2"
android:text="2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_3"
android:text="3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_subtract"
android:text="-"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/holo_red_dark"
android:textSize="30sp" />
<Button
android:id="@+id/button_0"
android:text="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="4"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_dot"
android:text="."
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="4"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/darker_gray"
android:textSize="30sp" />
<Button
android:id="@+id/button_equal"
android:text="="
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="4"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/holo_green_dark"
android:textSize="30sp" />
<Button
android:id="@+id/button_add"
android:text="+"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="4"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background="@android:color/holo_red_dark"
android:textSize="30sp" />
</GridLayout>
</RelativeLayout>
```
代码实现:
```
public class MainActivity extends AppCompatActivity {
private EditText mTextInput;
private Button mButton0, mButton1, mButton2, mButton3, mButton4, mButton5, mButton6, mButton7, mButton8, mButton9;
private Button mButtonAdd, mButtonSubtract, mButtonMultiply, mButtonDivide;
private Button mButtonEqual, mButtonDot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextInput = findViewById(R.id.text_input);
mButton0 = findViewById(R.id.button_0);
mButton1 = findViewById(R.id.button_1);
mButton2 = findViewById(R.id.button_2);
mButton3 = findViewById(R.id.button_3);
mButton4 = findViewById(R.id.button_4);
mButton5 = findViewById(R.id.button_5);
mButton6 = findViewById(R.id.button_6);
mButton7 = findViewById(R.id.button_7);
mButton8 = findViewById(R.id.button_8);
mButton9 = findViewById(R.id.button_9);
mButtonAdd = findViewById(R.id.button_add);
mButtonSubtract = findViewById(R.id.button_subtract);
mButtonMultiply = findViewById(R.id.button_multiply);
mButtonDivide = findViewById(R.id.button_divide);
mButtonEqual = findViewById(R.id.button_equal);
mButtonDot = findViewById(R.id.button_dot);
View.OnClickListener numberClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button button = (Button) v;
mTextInput.append(button.getText().toString());
}
};
mButton0.setOnClickListener(numberClickListener);
mButton1.setOnClickListener(numberClickListener);
mButton2.setOnClickListener(numberClickListener);
mButton3.setOnClickListener(numberClickListener);
mButton4.setOnClickListener(numberClickListener);
mButton5.setOnClickListener(numberClickListener);
mButton6.setOnClickListener(numberClickListener);
mButton7.setOnClickListener(numberClickListener);
mButton8.setOnClickListener(numberClickListener);
mButton9.setOnClickListener(numberClickListener);
View.OnClickListener operatorClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button button = (Button) v;
mTextInput.append(button.getText().toString());
}
};
mButtonAdd.setOnClickListener(operatorClickListener);
mButtonSubtract.setOnClickListener(operatorClickListener);
mButtonMultiply.setOnClickListener(operatorClickListener);
mButtonDivide.setOnClickListener(operatorClickListener);
mButtonDot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mTextInput.getText().toString().contains(".")){
mTextInput.append(".");
}
}
});
mButtonEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = mTextInput.getText().toString();
if (input.isEmpty()) {
return;
}
Expression expression = new ExpressionBuilder(input).build();
try {
double result = expression.evaluate();
mTextInput.setText(Double.toString(result));
} catch (Exception ex) {
mTextInput.setText("Error");
}
}
});
}
}
```
这份代码使用了第三方开源库“expr4j”,其实现了数学表达式的求解,可以简化计算器的实现过程。在使用之前需要在build.gradle中添加引用:
```
dependencies {
// ...
implementation 'net.objecthunter:exp4j:0.4.8'
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)