Handling text boxes radio button select boxes and multiple select in selenium

Handling automation script for Text boxes, Radio button, Check boxes and Multiple select in Selenium

import org.openqa.selenium.By;

import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
 
public class Automation {
 
/**
* @param args
* @throws InterruptedException 
*/
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "C:\\batch230\\chromedriver.exe");
     WebDriver driver= new ChromeDriver();
     Thread.sleep(5000);
     driver.manage().window().maximize();
     Thread.sleep(5000);
     driver.findElement(By.xpath("//input[@type='text'] [@placeholder='First Name']")).sendKeys("venkat");
     driver.findElement(By.xpath("//input[@type='text'] [@placeholder='Last Name']")).sendKeys("subbu");
     driver.findElement(By.xpath("//input[@type='email']")).sendKeys("subbuphpse@gmail.com");
     driver.findElement(By.xpath("//*[@class='col-md-8 col-xs-8 col-sm-8' ]/descendant::textarea[@ng-model='Adress']")).sendKeys("venkat");
     driver.findElement(By.xpath("//input[@type='tel'] [@ng-model='Phone']")).sendKeys("3456789012");
   // gender
     driver.findElement(By.xpath("//input[@name='radiooptions'][@value='Male']")).click();
     //hobbies
     driver.findElement(By.xpath("//input[@id='checkbox1'][@value='Cricket']")).click();
     
     //select multiple lanuages
     
     WebElement e= driver.findElement(By.xpath("//div[@class='ui-autocomplete-multiselect ui-state-default ui-widget']"));
    Actions a = new Actions(driver);
    a.click(e).build().perform();
    Thread.sleep(5000);
    a.keyDown(Keys.CONTROL).sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN).click().build().perform();
    Thread.sleep(5000);
    a.sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.DOWN).keyUp(Keys.CONTROL).click().build().perform();
    Thread.sleep(5000);
    // SELECT SKILLS
    Select s= new Select(driver.findElement(By.id("Skills")));
    s.selectByVisibleText("Android");
    Select c= new Select(driver.findElement(By.id("countries")));
    c.selectByVisibleText("India");
    Thread.sleep(2000);
  //span[@class='select2-selection select2-selection--single']
    WebElement w =driver.findElement(By.xpath("//span[@class='select2-selection select2-selection--single'][@aria-labelledby='select2-country-container']"));
   Actions z = new Actions(driver);
   z.click(w).build().perform();
    Thread.sleep(2000);
    z.keyDown(Keys.CONTROL).sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.ENTER).build().perform();
    Thread.sleep(5000);
    //z.sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.DOWN).keyUp(Keys.CONTROL).click().build().perform();
    Thread.sleep(5000);
    // year field
    WebElement m =driver.findElement(By.id("yearbox"));
   Actions year = new Actions(driver);
   year.click(m).build().perform();
     Thread.sleep(2000);
     year.keyDown(Keys.CONTROL).sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.ENTER).build().perform();
    Thread.sleep(5000);
   //month field
    WebElement web =driver.findElement(By.xpath("//*[@placeholder='Month']"));
   Actions mon = new Actions(driver);
   mon.click(web).build().perform();
     Thread.sleep(2000);
     mon.keyDown(Keys.CONTROL).sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.ENTER).build().perform();
    Thread.sleep(5000);
// day field
    WebElement web1 =driver.findElement(By.id("daybox"));
   Actions day = new Actions(driver);
   day.click(web1).build().perform();
     Thread.sleep(2000);
     day.keyDown(Keys.CONTROL).sendKeys(Keys.DOWN,Keys.DOWN,Keys.DOWN,Keys.ENTER).build().perform();
    Thread.sleep(5000);
    driver.findElement(By.id("firstpassword")).sendKeys("Test123");
    driver.findElement(By.id("secondpassword")).sendKeys("Test123");
    driver.findElement(By.id("submitbtn")).click();
    
}
}