일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- crud
- 객체지향
- 자바문제
- 자바
- ibatis
- Mac
- 맥
- servlet
- 배열
- ddit
- pyqt
- 이클립스
- Oracle
- 반복문
- FastAPI
- nodejs
- spring
- Java
- html
- Android
- python
- 컬렉션프레임워크
- Homebrew
- API
- 생활코딩
- 단축키
- JDBC
- 대덕인재개발원
- jsp
- Error
Archives
- Today
- Total
romworld
Python11 - (Android), 숫자 더해서 출력, 배수합, 야구게임 본문
버튼 이벤트
숫자 더해서 출력하기
<AndroidManifest.xml>
<activity_main9.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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="25dp"
tools:layout_editor_absoluteY="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="70dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<TextView
android:id="@+id/tv"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="+" />
<EditText
android:id="@+id/et2"
android:layout_width="70dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<Button
android:id="@+id/btn"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="=" />
<EditText
android:id="@+id/e31"
android:layout_width="70dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivity9.java>
1.첫번째 방법 (내가 푼 것)
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity9 extends AppCompatActivity {
EditText et1;
EditText et2;
EditText et3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main9);
et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
et3 = findViewById(R.id.et3);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view -> {
myclick();
});
}
private void myclick() {
int a = Integer.parseInt(et1.getText().toString());
int b = Integer.parseInt(et2.getText().toString());
et3.setText(plus(a,b)+"");
}
private int plus(int a, int b) {
return a+b;
};
}
배수합
<AndroidManifest.xml>
<activity_maina.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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="-14dp"
tools:layout_editor_absoluteY="-23dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="50dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<TextView
android:id="@+id/tv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="에서" />
<EditText
android:id="@+id/et2"
android:layout_width="50dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<TextView
android:id="@+id/tv2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="까지" />
<EditText
android:id="@+id/et3"
android:layout_width="50dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<Button
android:id="@+id/btn"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="배수합" />
<EditText
android:id="@+id/et4"
android:layout_width="50dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivitya.java>
1. 첫번째방법 (내가 푼 것)
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivitya extends AppCompatActivity {
EditText et1;
EditText et2;
EditText et3;
EditText et4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maina);
et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
et3 = findViewById(R.id.et3);
et4 = findViewById(R.id.et4);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view -> {
myclick();
});
}
private void myclick() {
int a = Integer.parseInt(et1.getText().toString());
int b = Integer.parseInt(et2.getText().toString());
int c = Integer.parseInt(et3.getText().toString());
int res = 0;
for(int i = a; i <=b; i++){
if(i % c == 0){
res += i;
}
}
et4.setText(res+"");
}
}
결과
야구게임
<AndroidManifest.xml>
<activity_mainb.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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="스트라이크" />
<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="맞추기" />
<TextView
android:id="@+id/tvDisp"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:text="__" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivityb>
1.첫번째 방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Arrays;
public class MainActivityb extends AppCompatActivity {
EditText et;
TextView tvDisp;
int[] com;
String old_res = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainb);
et = findViewById(R.id.et);
tvDisp = findViewById(R.id.tvDisp);
Button btn = findViewById(R.id.btn);
com = new int[] {1,2,3,4,5,6,7,8,9};
for(int i =1; i<=100; i++){
int rnd = (int)(Math.random()*9);
int a = com[0];
int b = com[rnd];
com[0] = b;
com[rnd] = a;
}
int[] arr = new int[3];
arr[0] = com[0];
arr[1] = com[1];
arr[2] = com[2];
Log.d("com/random", Arrays.toString(arr));
btn.setOnClickListener(view -> {myclick();});
}
private void myclick() {
String a = et.getText().toString();
int aa = Integer.parseInt(a);
int[] me = new int[3];
me[0] = Integer.parseInt(a.substring(0,1));
me[1] = Integer.parseInt(a.substring(1,2));
me[2] = Integer.parseInt(a.substring(2,3));
int strike = 0;
int ball = 0;
for(int i = 0; i <=2; i++){
for(int j =0; j<=2; j++){
if(com[i] == me[j]){
if(i == j){
strike++;
}else{
ball++;
}
}
}
}
Log.d("ball", ball+"");
Log.d("strike", strike+"");
if(strike ==3) Toast.makeText(this.getApplicationContext(),"정답입니다!",Toast.LENGTH_SHORT).show();
String new_res = a +" strike : " + strike + " ball : " + ball;
tvDisp.setText(new_res+old_res);
old_res += "\n" + a +" strike : " + strike + " ball : " + ball;
et.setText("");
}
}
2.두번째방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Arrays;
public class MainActivityb extends AppCompatActivity {
EditText et;
TextView tvDisp;
String com= "123";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainb);
et = findViewById(R.id.et);
tvDisp = findViewById(R.id.tvDisp);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view -> {myclick();});
randomCom();
}
private void randomCom(){
String[] arr = {"1","2","3","4","5","6","7","8","9"};
for(int i = 0; i <100; i++){
int rnd = (int)(Math.random()*arr.length);
String a = arr[1];
String b = arr[rnd];
arr[rnd]= a;
arr[1]= b;
}
com = arr[0] + arr[1] + arr[2];
Log.d("romrom",com);
}
private void myclick() {
String mine = et.getText().toString();
int s = getStricke(com,mine);
int b = getBall(com,mine);
String str_od = tvDisp.getText().toString();
String str_new = mine + " " + s+"S"+b+"B"+"\n";
tvDisp.setText(str_od+str_new);
et.setText("");
if(s ==3){
Toast.makeText(this.getApplicationContext(),"you wind \n"+mine,Toast.LENGTH_SHORT).show();
}
Log.d("romrom",s+"");
Log.d("romrom",b+"");
}
private int getBall(String com, String mine){
int ret = 0;
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
if(c1.equals(m2) || c1.equals(m3)) ret++;
if(c2.equals(m1) || c2.equals(m3)) ret++;
if(c3.equals(m1) || c3.equals(m2)) ret++;
return ret;
}
private int getStricke(String com,String mine){
int ret = 0;
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
if(c1.equals(m1)) ret++;
if(c2.equals(m2)) ret++;
if(c3.equals(m3)) ret++;
return ret;
}
}
'Python' 카테고리의 다른 글
Python 13 - Pyqt(전화번호찍기, 곱하기 출력, 야구게임) (1) | 2023.01.02 |
---|---|
Python 12 - Pyqt ( 텍스트변경, 숫자 증가, 구구단, 홀짝, 로또게임, 가위바위보, 별찍기 (0) | 2022.12.30 |
Python10 - (Andoroid) Toast창 띄우기 (0) | 2022.12.29 |
Python 09 - (Android)로또게임, 가위바위보, 별찍기 (0) | 2022.12.28 |
Python 08 - (Android)(Log.d, 버튼 클릭 이벤트(숫자증가, 홀짝게임)) (1) | 2022.12.28 |
Comments