Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package BePro.Project_Example;
- import java.io.*;
- import java.lang.reflect.Array;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.*;
- /**
- * Created by BeProEdu on 02.02.2019.
- */
- public class Main {
- public static void main(String[] args) {
- Menu menu = new Menu();
- menu.start();
- }
- }
- class Hello12{
- public Hello12() throws IOException{
- }
- }
- class Number<T>{
- T a;
- }
- interface Walkable{
- int a = 10;
- void walk();
- }
- interface PushUp{
- int pushUpQuantity = 20;
- void pushUp();
- default void hello(){
- System.out.println("Hello");
- }
- static void pushUpCounter(){
- }
- }
- class User {
- private String name;
- private String password;
- private String email;
- public User(String name, String password){
- setName(name);
- setPassword(password);
- }
- public void setName(String name){
- this.name = name;
- }
- public String getName(){
- return name;
- }
- public void setPassword(String password){
- this.password = password;
- }
- public String getPassword(){
- return password;
- }
- public void setEmail(String email){
- this.email = email;
- }
- public String getEmail(){
- return email;
- }
- }
- class Menu{
- private File file;
- public Menu(){
- file = new File("users.txt");
- if(!file.exists()){
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public void start(){
- Scanner scanner= new Scanner(System.in);
- int option;
- do{
- System.out.println("Menu");
- System.out.println("1.Sign In");
- System.out.println("2.Sign Up");
- System.out.println("3.Users");
- System.out.println("4.Exit");
- System.out.println("Choose one option: ");
- option = scanner.nextInt();
- switch(option){
- case 1:
- signIn();
- break;
- case 2:
- signUp();
- break;
- case 3:
- allUsers();
- break;
- case 4:
- System.out.println("Bye");
- break;
- default:
- System.out.println("No option ");
- }
- }while(option !=4);
- }
- public boolean exists(String name){
- ArrayList<User> users = getUsers();
- for (int i = 0; i <users.size(); i++) {
- if(users.get(i).getName().equals(name)){
- return true;
- }
- }
- return false;
- }
- public void signUp(){
- Scanner scanner = new Scanner(System.in);
- System.out.println("Enter name: ");
- String name = scanner.next();
- if(exists(name)){
- System.out.println("User already exists");
- return;
- }
- System.out.println("Enter password: ");
- String password = scanner.next();
- System.out.println("Confirm password: ");
- String confirmPassword = scanner.next();
- if(password.equals(confirmPassword)){
- User user = new User(name, password);
- boolean result = writeUser(user);
- if(result){
- System.out.println("User registered");
- }else{
- System.out.println("Error");
- }
- }else{
- System.out.println("Error");
- }
- }
- public boolean writeUser(User user){
- try(BufferedWriter writer = new BufferedWriter(new FileWriter(this.file, true))){
- writer.write(user.getName());
- writer.newLine();
- writer.write(user.getPassword());
- writer.newLine();
- writer.write(user.getEmail()+" ");
- writer.newLine();
- }catch(IOException ex){
- System.out.println(ex.getMessage());
- return false;
- }
- return true;
- }
- public ArrayList<User> getUsers(){
- ArrayList<User> result = new ArrayList<>();
- try(BufferedReader reader = new BufferedReader(new FileReader(this.file))){
- String name;
- while((name = reader.readLine()) != null){
- String password = reader.readLine();
- User user = new User(name,password);
- user.setEmail(reader.readLine());
- result.add(user);
- }
- }catch(IOException ex){
- System.out.println(ex.getMessage());
- }
- return result;
- }
- public User getUser(String name){
- try(BufferedReader reader = new BufferedReader(new FileReader(this.file))){
- String line;
- while((line = reader.readLine()) != null){
- String password = reader.readLine();
- String email = reader.readLine();
- if(line.equals(name)){
- User user = new User(line, password);
- user.setEmail(email);
- return user;
- }
- }
- }catch(IOException ex){
- System.out.println(ex.getMessage());
- }
- return null;
- }
- public void signIn(){
- Scanner scanner = new Scanner(System.in);
- System.out.println("Enter name: ");
- String name = scanner.next();
- System.out.println("Enter password: ");
- String password = scanner.next();
- User user = getUser(name);
- if(user == null){
- System.out.println("No user exists");
- return;
- }
- if(!user.getPassword().equals(password)){
- System.out.println("Error");
- return;
- }
- System.out.println("Information for "+user.getName());
- System.out.println("Password: "+user.getPassword());
- System.out.println("Email: "+user.getEmail());
- System.out.println("1.Edit");
- System.out.println("2.Delete");
- System.out.println("3.Menu");
- System.out.println("Choose one option: ");
- int option = scanner.nextInt();
- if(option == 1){
- edit(user);
- }else if(option == 2){
- delete(user);
- }
- }
- public void allUsers(){
- System.out.println("Users: ");
- ArrayList<User> users = getUsers();
- for (int i = 0; i <users.size() ; i++) {
- System.out.println(users.get(i).getName());
- }
- System.out.println();
- }
- public void edit(User user){
- Scanner scanner = new Scanner(System.in);
- System.out.println("Enter password or -1 to skip: ");
- String password = scanner.next();
- if(!password.equals("-1")){
- user.setPassword(password);
- }
- System.out.println("Enter email or -1 to skip: ");
- String email = scanner.next();
- if(!email.equals("-1")){
- user.setEmail(email);
- }
- }
- public void delete(User user){
- /* for (int i = 0; i <users.size(); i++) {
- if(users.get(i).getName().equals(user.getName())){
- users.remove(i);
- return;
- }
- }*/
- }
- }
- class DuplicateUserException extends Exception{
- public DuplicateUserException(){
- super("Users are duplicated");
- }
- }
- class Calculation {
- public Calculation(){
- System.out.println("Constructor has been used");
- }
- Calculation(int a){
- }
- public void showResult(){
- System.out.println("Result");
- }
- public int sum(int a, int b){
- return a+b;
- }
- }
Add Comment
Please, Sign In to add comment