Guest User

Untitled

a guest
Feb 18th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.53 KB | None | 0 0
  1. package BePro.Project_Example;
  2.  
  3. import java.io.*;
  4. import java.lang.reflect.Array;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;
  7. import java.util.*;
  8.  
  9. /**
  10. * Created by BeProEdu on 02.02.2019.
  11. */
  12. public class Main {
  13. public static void main(String[] args) {
  14.  
  15. Menu menu = new Menu();
  16. menu.start();
  17.  
  18. }
  19. }
  20. class Hello12{
  21. public Hello12() throws IOException{
  22. }
  23. }
  24.  
  25. class Number<T>{
  26. T a;
  27. }
  28.  
  29. interface Walkable{
  30. int a = 10;
  31.  
  32. void walk();
  33. }
  34.  
  35. interface PushUp{
  36. int pushUpQuantity = 20;
  37. void pushUp();
  38.  
  39. default void hello(){
  40. System.out.println("Hello");
  41. }
  42.  
  43. static void pushUpCounter(){
  44.  
  45. }
  46. }
  47.  
  48. class User {
  49. private String name;
  50. private String password;
  51. private String email;
  52.  
  53. public User(String name, String password){
  54. setName(name);
  55. setPassword(password);
  56. }
  57.  
  58. public void setName(String name){
  59. this.name = name;
  60. }
  61.  
  62. public String getName(){
  63. return name;
  64. }
  65.  
  66. public void setPassword(String password){
  67. this.password = password;
  68. }
  69.  
  70. public String getPassword(){
  71. return password;
  72. }
  73.  
  74. public void setEmail(String email){
  75. this.email = email;
  76. }
  77.  
  78. public String getEmail(){
  79. return email;
  80. }
  81.  
  82. }
  83.  
  84. class Menu{
  85. private File file;
  86.  
  87. public Menu(){
  88. file = new File("users.txt");
  89.  
  90. if(!file.exists()){
  91. try {
  92. file.createNewFile();
  93. } catch (IOException e) {
  94. e.printStackTrace();
  95. }
  96. }
  97. }
  98.  
  99. public void start(){
  100. Scanner scanner= new Scanner(System.in);
  101. int option;
  102.  
  103. do{
  104. System.out.println("Menu");
  105. System.out.println("1.Sign In");
  106. System.out.println("2.Sign Up");
  107. System.out.println("3.Users");
  108. System.out.println("4.Exit");
  109. System.out.println("Choose one option: ");
  110. option = scanner.nextInt();
  111.  
  112. switch(option){
  113. case 1:
  114. signIn();
  115. break;
  116. case 2:
  117. signUp();
  118. break;
  119.  
  120. case 3:
  121. allUsers();
  122. break;
  123. case 4:
  124. System.out.println("Bye");
  125. break;
  126. default:
  127. System.out.println("No option ");
  128. }
  129.  
  130. }while(option !=4);
  131. }
  132.  
  133. public boolean exists(String name){
  134. ArrayList<User> users = getUsers();
  135.  
  136.  
  137. for (int i = 0; i <users.size(); i++) {
  138. if(users.get(i).getName().equals(name)){
  139. return true;
  140. }
  141. }
  142.  
  143. return false;
  144. }
  145.  
  146. public void signUp(){
  147. Scanner scanner = new Scanner(System.in);
  148. System.out.println("Enter name: ");
  149. String name = scanner.next();
  150.  
  151. if(exists(name)){
  152. System.out.println("User already exists");
  153. return;
  154. }
  155. System.out.println("Enter password: ");
  156. String password = scanner.next();
  157. System.out.println("Confirm password: ");
  158. String confirmPassword = scanner.next();
  159.  
  160. if(password.equals(confirmPassword)){
  161.  
  162. User user = new User(name, password);
  163. boolean result = writeUser(user);
  164. if(result){
  165. System.out.println("User registered");
  166. }else{
  167. System.out.println("Error");
  168. }
  169.  
  170. }else{
  171. System.out.println("Error");
  172. }
  173. }
  174.  
  175. public boolean writeUser(User user){
  176. try(BufferedWriter writer = new BufferedWriter(new FileWriter(this.file, true))){
  177. writer.write(user.getName());
  178. writer.newLine();
  179. writer.write(user.getPassword());
  180. writer.newLine();
  181. writer.write(user.getEmail()+" ");
  182. writer.newLine();
  183. }catch(IOException ex){
  184. System.out.println(ex.getMessage());
  185. return false;
  186. }
  187.  
  188. return true;
  189. }
  190.  
  191. public ArrayList<User> getUsers(){
  192. ArrayList<User> result = new ArrayList<>();
  193. try(BufferedReader reader = new BufferedReader(new FileReader(this.file))){
  194. String name;
  195. while((name = reader.readLine()) != null){
  196. String password = reader.readLine();
  197. User user = new User(name,password);
  198. user.setEmail(reader.readLine());
  199. result.add(user);
  200. }
  201. }catch(IOException ex){
  202. System.out.println(ex.getMessage());
  203. }
  204.  
  205. return result;
  206. }
  207.  
  208. public User getUser(String name){
  209. try(BufferedReader reader = new BufferedReader(new FileReader(this.file))){
  210. String line;
  211.  
  212. while((line = reader.readLine()) != null){
  213. String password = reader.readLine();
  214. String email = reader.readLine();
  215. if(line.equals(name)){
  216. User user = new User(line, password);
  217. user.setEmail(email);
  218. return user;
  219. }
  220. }
  221. }catch(IOException ex){
  222. System.out.println(ex.getMessage());
  223. }
  224.  
  225.  
  226. return null;
  227. }
  228.  
  229. public void signIn(){
  230. Scanner scanner = new Scanner(System.in);
  231. System.out.println("Enter name: ");
  232. String name = scanner.next();
  233. System.out.println("Enter password: ");
  234. String password = scanner.next();
  235.  
  236.  
  237. User user = getUser(name);
  238.  
  239. if(user == null){
  240. System.out.println("No user exists");
  241. return;
  242. }
  243.  
  244. if(!user.getPassword().equals(password)){
  245. System.out.println("Error");
  246. return;
  247. }
  248.  
  249.  
  250. System.out.println("Information for "+user.getName());
  251.  
  252. System.out.println("Password: "+user.getPassword());
  253. System.out.println("Email: "+user.getEmail());
  254.  
  255. System.out.println("1.Edit");
  256. System.out.println("2.Delete");
  257. System.out.println("3.Menu");
  258. System.out.println("Choose one option: ");
  259. int option = scanner.nextInt();
  260.  
  261. if(option == 1){
  262. edit(user);
  263. }else if(option == 2){
  264. delete(user);
  265. }
  266. }
  267.  
  268. public void allUsers(){
  269. System.out.println("Users: ");
  270. ArrayList<User> users = getUsers();
  271. for (int i = 0; i <users.size() ; i++) {
  272. System.out.println(users.get(i).getName());
  273. }
  274. System.out.println();
  275. }
  276.  
  277. public void edit(User user){
  278. Scanner scanner = new Scanner(System.in);
  279. System.out.println("Enter password or -1 to skip: ");
  280. String password = scanner.next();
  281.  
  282. if(!password.equals("-1")){
  283. user.setPassword(password);
  284. }
  285.  
  286. System.out.println("Enter email or -1 to skip: ");
  287. String email = scanner.next();
  288. if(!email.equals("-1")){
  289. user.setEmail(email);
  290. }
  291.  
  292. }
  293.  
  294.  
  295. public void delete(User user){
  296. /* for (int i = 0; i <users.size(); i++) {
  297. if(users.get(i).getName().equals(user.getName())){
  298. users.remove(i);
  299. return;
  300. }
  301. }*/
  302.  
  303. }
  304. }
  305.  
  306. class DuplicateUserException extends Exception{
  307.  
  308. public DuplicateUserException(){
  309. super("Users are duplicated");
  310. }
  311. }
  312.  
  313. class Calculation {
  314.  
  315. public Calculation(){
  316. System.out.println("Constructor has been used");
  317. }
  318.  
  319. Calculation(int a){
  320.  
  321. }
  322.  
  323. public void showResult(){
  324. System.out.println("Result");
  325. }
  326.  
  327. public int sum(int a, int b){
  328. return a+b;
  329. }
  330. }
Add Comment
Please, Sign In to add comment