Advertisement
arinado

module3

Feb 9th, 2017
4,348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.81 KB | None | 0 0
  1. Вопрос 1
  2.  
  3. -   UML не может использоваться для описания  иерархий классов
  4. +   Существует отношение классов агрегирование. Верно
  5. +   UML - это универсальный язык моделирования Верно
  6. -   Проектирование — необязательный этап разработки ООП приложений.
  7.  
  8. тема 2.6.2
  9. http://myitschool.ru/edu/pluginfile.php/3053/mod_folder/content/0/2.6.%20%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.%20%D0%9D%D0%B0%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F_101115.pdf?forcedownload=1
  10. тема 3.1  (первый пример с ООП решением)
  11. http://myitschool.ru/edu/pluginfile.php/3765/mod_folder/content/0/3.1.%20%D0%9E%D0%9E%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_121115.pdf?forcedownload=1
  12. диаграмма классов
  13. https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2
  14.  
  15. Вопрос 2
  16.  
  17. public class Group{
  18.     private String number;
  19.     public Teacher classTeacher;
  20.     public Student[] students;
  21.     protected void getList(Student[] students){}
  22. }
  23.  
  24. Вопрос 3
  25.  
  26. int number;
  27. int zero;
  28. try {
  29.     number = 1;
  30.     zero = 0;
  31.     int result = number / zero;
  32.     System.out.println("Message1");
  33. } catch (ArithmeticException e) {
  34.     System.out.println("Message2");
  35. }
  36. System.out.println("Message3");
  37.  
  38. -   Сообщение Message3 не будет показано.
  39. -   Сообщение Message2 не будет показано.
  40. +   Этот код содержит критический блок. Верно
  41. +   Сообщение Message1 не будет показано. Верно
  42. -   При выполнении этого  кода не будет создаваться объект класса наследника Exception
  43. +   В этом коде присутствует блок проверки. Верно
  44.  
  45. Тема 3.2 Ввод, вывод и исключения.
  46. http://myitschool.ru/edu/pluginfile.php/3765/mod_folder/content/0/3.2.%20%D0%92%D0%B2%D0%BE%D0%B4%2C%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%20%D0%B8%20%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_121115.pdf?forcedownload=1
  47.  
  48. Вопрос 4
  49. PrintWriter writer = null;
  50.  
  51. try
  52. Верно {
  53.     writer = new PrintWriter(new FileWriter("filename.txt"));
  54.     writer.write("Something");
  55. }
  56. catch
  57. Верно (IOException e) {
  58.   System.out.println("File operation failed: "+e.getMessage());
  59. }
  60. finally
  61. Верно {
  62.    try {writer.close();} catch (Exception e) {/*ignore*/}
  63. }
  64.  
  65. Вопрос 5
  66. 12-28 20:25:12.272 32347-32347/? D/Loading: Images_loaded
  67.  
  68. Log.d("Loading","Images_loaded");
  69.  
  70. Вопрос 6
  71. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: index=3
  72.  
  73. throw (new java.lang.ArrayIndexOutOfBoundsException(3));
  74.  
  75. Вопрос 7
  76. String pathToFile = ...;
  77. File file = new File(pathToFile);
  78.  
  79. Что при этом будет создано на диске?
  80.  
  81. Выберите один ответ:
  82. -   Файл
  83. -   Директория
  84. +   Ничего не создается Верно
  85. -   Файл или директория, в зависимости от наличия символа "/" в конце переданной строки pathToFile.
  86.  
  87. http://developer.alexanderklimov.ru/android/java/file.php
  88.  
  89. Вопрос 8
  90. File dir = new File("/home/gizmo/tmp123");
  91. System.out.println(dir.delete());
  92.  
  93. Выберите один ответ:
  94. +   Каталог не удалится, программа выведет false Верно
  95. -   Тип File не может оперировать с каталогами, только с файлами
  96. -   Каталог не удалится, программа выведет true
  97. -   Каталог не удалится, будет вызвано исключение IOException
  98. -   Каталог удалится, программа ничего не выведет
  99.  
  100. Вопрос 9
  101. public class InfoService {
  102.          class Paper {
  103.                 public String title;
  104.                 public int sheets;
  105.           }
  106. /*...*/
  107.  }
  108.  
  109. InfoService tvChannel = new InfoService();
  110. InfoService.Paper vesti = tvChannel.new Paper();
  111.  
  112. внутренние классы
  113. http://www.quizful.net/post/inner-classes-java
  114. вложенные и внутренние классы
  115. http://easy-code.ru/lesson/java-nested-classes
  116.  
  117. Вопрос 10
  118. import java.util.Scanner;
  119.  
  120. public class Main {
  121.  
  122.     public static void main(String[] args) {
  123.  
  124.         //YOUR CODE will be placed HERE
  125.         //...
  126.        
  127.         Scanner in = new Scanner(System.in);
  128.         NumberPhone numberPhone = new NumberPhone(in.nextLine());
  129.         System.out.print(numberPhone.validate());
  130.     }
  131. }
  132.  
  133.  class NumberPhone {
  134.      String phone;
  135.      boolean validate(){
  136.          if ((phone.charAt(0)=='+'&&phone.charAt(1)=='7')&&(phone.length()==12)){
  137.              return true;
  138.          } else return false;
  139.      }
  140.      NumberPhone(String phone){
  141.          this.phone = phone;
  142.      }
  143.  }
  144.  
  145. Вопрос 11
  146.  Button b = (Button) findViewById(R.id.button);
  147.  b.setOnClickListener(new View.OnClickListener(){
  148.             public void onClick(View v) {
  149.                 Toast.makeText(getApplicationContext(), "Hello!", Toast.LENGTH_LONG).show();
  150.             }
  151.         });
  152.  
  153. Вопрос 12
  154. Многопоточные Android-приложения можно реализовать с использованием наследника класса
  155. -   Parallel
  156. +   Thread Верно
  157. +   AsyncTask Верно
  158. -   MultiTask
  159. -   AnotherProcess
  160.  
  161. параллелизм и синхронизация
  162. http://myitschool.ru/edu/pluginfile.php/3765/mod_folder/content/0/3.4.%20%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D0%B8%D0%B7%D0%BC%20%D0%B8%20%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F.pdf?forcedownload=1
  163.  
  164. Вопрос 13
  165. void startApplication(){
  166.    //YOUR CODE will be placed HERE
  167.    //...
  168. }
  169.  
  170. new Thread() {
  171. public void run() {
  172. showAd();
  173. }
  174. }.start();
  175.  
  176. Вопрос 14
  177.  
  178. setAntiAlias() - сглаживание линий
  179. setSubpixelText() - сглаживание текста
  180. setColor() – выбор цвета пера
  181. setStyle() – выбор способа рисования (контур или заливка)
  182. setTextSize() – выбор размера знаков в надписи
  183.  
  184. тема 3.7.1
  185. http://myitschool.ru/edu/pluginfile.php/3765/mod_folder/content/0/3.7.%20%D0%94%D0%B2%D1%83%D0%BC%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0%20%D0%B2%20Android%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D1%85_021215.pdf?forcedownload=1
  186.  
  187. Вопрос 15
  188.  
  189. Допишите недостающие фрагменты в методе onDraw() так, чтобы по диагонали экрана были нарисованы 20 разноцветных не пересекающихся кругов радиуса 30 пт с центром на диагонали и изменением цвета на 100:
  190.  
  191. public void onDraw(Canvas c) {
  192. super.onDraw(c);
  193. Paint paint = new Paint();
  194.  
  195. paint.setStyle(Paint.Style.FILL);
  196.  
  197. int color=Color.RED;
  198. int x = getWidth()/20;
  199. int y = getHeight()/20;
  200. for (int i= 1; i<21;i++){
  201. color+=100;
  202. paint.setColor(color);
  203.  
  204. c.drawCircle(i*x,i*y,30,paint);            
  205.   }
  206.  
  207. Вопрос 16
  208.  
  209. http://myitschool.ru/edu/pluginfile.php/3765/mod_folder/content/0/3.8.%20%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0%20%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9.%20SurfaceView_140116.pdf?forcedownload=1
  210.  
  211. Ваша задача написать сам класс TestSurfaceView таким образом, чтобы фон стал синим
  212. и при тапе по экрану начал появляться
  213. желтый круг с центром в точке нажатия,
  214. увеличивая свой радиус с нуля по 5 пикселей через каждую секунду
  215. При нажатии в другом месте круг должен начать появляться заново
  216. (на экране должен "расти" только один круг, в центре последнего нажатия)
  217.  
  218. import android.content.Context;
  219. import android.graphics.Canvas;
  220. import android.graphics.Color;
  221. import android.graphics.Paint;
  222. import android.view.MotionEvent;
  223. import android.view.SurfaceHolder;
  224. import android.view.SurfaceView;
  225.  
  226. class TestSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
  227.     private DrawThread drawThread;
  228.  
  229.     public TestSurfaceView(Context context) {
  230.         super(context);
  231.         getHolder().addCallback(this);
  232.     }
  233.  
  234.     @Override
  235.     public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
  236.  
  237.     }
  238.  
  239.     @Override
  240.     public void surfaceCreated(SurfaceHolder holder) {
  241.         drawThread = new DrawThread(getContext(), getHolder());
  242.         drawThread.start();
  243.  
  244.     }
  245.  
  246.     @Override
  247.     public void surfaceDestroyed(SurfaceHolder holder) {
  248.         drawThread.requestStop();
  249.         boolean retry = true;
  250.         while (retry) {
  251.             try {
  252.                 drawThread.join();
  253.                 retry = false;
  254.             } catch (InterruptedException e) {
  255.  
  256.             }
  257.         }
  258.  
  259.     }
  260.  
  261.     @Override
  262.     public boolean onTouchEvent(MotionEvent event) {
  263.         drawThread.set(event.getX(), event.getY(), 0);
  264.         return super.onTouchEvent(event);
  265.     }
  266. }
  267.  
  268. class DrawThread extends Thread {
  269.  
  270.     private SurfaceHolder surfaceHolder;
  271.     private volatile boolean running = true;
  272.     float x = 10000, y = 10000, r = 0;
  273.  
  274.     void set(float x, float y, float r) {
  275.         this.x = x;
  276.         this.y = y;
  277.         this.r = r;
  278.     }
  279.  
  280.  
  281.     DrawThread(Context context, SurfaceHolder surfaceHolder) {
  282.         this.surfaceHolder = surfaceHolder;
  283.     }
  284.  
  285.     public void requestStop() {
  286.         running = false;
  287.     }
  288.  
  289.  
  290.     @Override
  291.     public void run() {
  292.         Paint paint = new Paint();
  293.         paint.setColor(Color.YELLOW);
  294.         while (running) {
  295.             Canvas canvas = surfaceHolder.lockCanvas();
  296.             if (canvas != null) {
  297.                 try {
  298.                     canvas.drawColor(Color.BLUE);
  299.                     canvas.drawCircle(x, y, r, paint);
  300.  
  301.                 } finally {
  302.                     surfaceHolder.unlockCanvasAndPost(canvas);
  303.                 }
  304.  
  305.             }
  306.             r += 5;
  307.             try {
  308.                 Thread.sleep(1000);
  309.             } catch (InterruptedException e) {
  310.                 e.printStackTrace();
  311.             }
  312.         }
  313.     }
  314. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement