1) Computer generates a random number between 1 and 20
2) User enters a number and clicks Guess
3) Computer pops up a message if the guess is higher or lower or equal to random number
public class MainActivity extends AppCompatActivity {
int randomNumer; //forward declaration. This variable will be set up onCreate method
//refactor reused code into a method
private void makeToast(String str){
Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();
}
public void clickFunction(View view){
EditText guessText = (EditText) findViewById(R.id.editText);
if (!guessText.getText().toString().isEmpty()){
Integer guess_i = Integer.parseInt(guessText.getText().toString());
if (guess_i < randomNumer)
makeToast("Your guess is lower");
else if (guess_i > randomNumer)
makeToast("Your guess is higher");
else
makeToast("You are RIGHT!");
}
}
//All code that must be executed on start up comes here
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Generate random number between 1 and 20
Random rand = new Random();
randomNumer = rand.nextInt(20) + 1;
}
}
Check if the entered number is square, trianglular, both or neither
public class MainActivity extends AppCompatActivity {
class Number {
public int number=0;
boolean isSquare(){
double sqrtNumber = Math.sqrt(number);
boolean ret = false;
if(sqrtNumber == Math.floor(sqrtNumber))
ret = true;
return ret;
}
boolean isTriangular(){
int trinum = 0;
for(int i=1;trinum<number;i++)
trinum += i;
boolean ret=false;
if(trinum==number)
ret=true;
return ret;
}
}
public void clickFunction(View view){
EditText numEditText = (EditText) findViewById(R.id.editText);
String message = "";
Number number = new Number();
boolean success = true;
try {
number.number = Integer.parseInt(numEditText.getText().toString());
}
catch (Exception e){
message = "Enter a number!";
success = false;
}
if(success) {
if (number.isSquare() && number.isTriangular())
message = number.number + " is both square and triangular";
else if (number.isSquare())
message = number.number + " is square";
else if (number.isTriangular())
message = number.number + " is triangular";
else
message = number.number + " is neither square nor triangular";
}
Toast.makeText(MainActivity.this,message,Toast.LENGTH_LONG).show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}