Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Имеет ли смысл изучать Kollin не зная Java?

На данный момент имею представление только о паскале из школьного курса информатики, а также совсем немного о C и Java. Решил изучать программирование под Android. Пытался осилить Java, но понял, что ничего кроме отторжения у меня этот язык не вызывает. И вот сейчас решил попробовать изучать Kotlin. Здесь у меня возникает вопрос: могу ли я обойтись изучением этого языка для мобильной разработки, или изучение Java является для меня обязательным?
Ответ: Rus domaci, нет не имеет, тебе нужно вдоль и поперек изучить Java прежде чем переходить на Kotlin, если сможешь за год дойти до среднего уровня то хорошо и можешь приступить к изучению Kotlin
Вопрос: Что нужно знать, чтобы сделать приложение?

П.С. Прошу не убивать мои фантазии и объективно ответить. пожалуйста.
Я не понимаю, что нужно знать. чтобы сделать приложение .
Например.
1)Возьмем любое приложение. типа. "Стильный Калькулятор". Что нужно знать, чтобы его сделать?
2)И еще одно возьмем Приложение. я не помню , как называется. Принцип его работы: приложение берет новость из любого интернет журнала и публикует(копирует) к себе.
3)Инстаграмм.
Что нужно знать . (по каждому, пожалуйста). чтобы его сделать. Я сейчас начал учить java. мне сказали. что нужно знать java(очень долго учить) и освоить Android SDK(очень быстро), и я смогу сделать приложение. так?
4)вопрос. Любая игра. типа марио
Ответ:
Сообщение от Vladimir93
Насчет боксеров, я как то общался, они то может и не читают, но бои все время смотрят, часами, потом обсуждают (а новички, так вообще перед зеркалом руками машут, правой - левой, правой - левой, плюс дыхание тренируют, и так по часу минимум.).
А не просто тупо руками машут туда сюда. Не ну есть такие, но машут они не долго, пару спарингов отхватят, и понимают что бокс - это не их. Идут куда то в другое место, по быстроу, но в итоге, так ничему научиться и не могут.
Здесь я с вами согласен, так же поступал (в смысле, смотрел бои и имитировал бой с тенью). И этот пример как раз хорошо показывает, что без фундамента далеко не уехать. Т.е. отрывочные сведения не помогут в продвижении, а если с самого начала не поставить базу, то переучить правильно потом будет, ой, как сложно.
Пример из программистской практики: когда-то были популярны всякие "Соло на клавиатуре", "Babytype", "Stamina" и др. тренажёры клавиатуры. Раньше мне казалось, что это редкостное издевательство (собственно, я и сейчас так считаю), но что-то в этом есть. Поскольку ученика сразу учат правильно ставить руки на клавиатуре. Если он учится не по программам, то, скорее всего, не научится эффективно печатать. Аналогия со спортом прослеживается.
Вопрос: не могу разобраться . java . игровой движок. игры

В общем цель была писать игры на андроид. выбрал и решил пользоваться андроид студио . понял , что одного знания алгоритмов и принципов программирования не достаточно и пошел учить java и опп. ну мизерный опыт уже есть. например написал в консольные крестики нолики в идее и решил пока алгоритм еще в голове сразу написать его в андроид студио, но не тут то было, слишком плохо понимаю как это сделать в студио , дабы толковых уроков, доступны, где от начала до конца пишется простенькая игрушка я не нашел. ну кое что нашел тут объясняет как игровой движок написать и на нем пишем потом вроде пятнашки или крестки нолики. буду заниматься. но вот в чем вопрос. не все ведь мучаются и пишут полностью движок для своей игры , кто то использует готовые. вот я и хочу узнать зная Java , на каком движке писать под андроид. Marmalade это не java , да еще и платный. Unity3d тоже не java , есть java script , тут у меня вопрос появляется , а есть ли сильные различия в синтаксисе и можно ли используя только java script в Unity3d писать игру. в общем сами видите плохо шарю , смутно всё. пролейте свет.

Добавлено через 2 часа 27 минут
докопался до того что мне нужно AndEngine прикрутить к андроид студио 1.4 . вот какая то инструкция но я не знаю каким даже должен быть конечный результат . помоги интегрировать

Добавлено через 24 минуты
вроде дошел до такого успех ли это ? проблема в том что я не знаю к чему иду, каков конечный результат должен быть7

Добавлено через 36 секунд
вот следовал этим инструкция
Ответ: Так тема за этим и была создана, чтобы помогли разобраться или хотя бы подсказали как должен выглядеть конечный результат. В общем пока тут не отвечают, пробую хоть готовый код с использованием этого движка разобрать, поможет суть работы движка понять
Вопрос: Не создаются BuildConfig.java R.java

BuildConfig.java , R.java Не создаются в папке /gen при создании проекта в eclipse. Переустанавливал программу, ничего не помогает. Что подскажете?
Ответ: Присоединяюсь к вопросу. Только пользуюсь я не Eclipse, a Android Studio. Проблема та же. Создавая модуль в проекте, насколько я понимаю, должна создаваться папка /gen, в которой бы присутствовал R.java , но этого не происходит. По крайней мере, в IDEшке он не отображается в дереве (ни в Android ни в Packages). Через проводник нашёл в папке модуля несколько файлов с таким названием по таким директориям:
D:\AndroidStudioPrjcts\Lessons\myapplication\build\generated\source\r\debug\android\support\v7\appcompat
D:\AndroidStudioPrjcts\Lessons\myapplication\build\generated\source\r\debug\com\mathahakar\myapplication

Но, я так понимаю, что это не те файлы... Читал, что файлы с таким же названием образуются ещё и ТОЛЬКО для самой IDE, но в таком случае, в этих файлах в начале (в комментариях) описывается их предназначение, вроде "...for IDE only..". В даных файлах такого не обнаружил. Но и содержание этих файлов при пустом проекте слишком велико (тысячи строк).
Очистка и ребилд проекта не решают проблему (как предлагали сделать в тернетике).
Что в таком случае нужно делать?
Дело в том, что я бы и не заметил данную проблему (ибо чайник), если бы не невозможность использовать id View-элементов.
Возможно, имеет смысл переустановить JDK и саму студию?

Добавлено через 51 минуту
Проблема решена.
Сообщение от mathahakar
Дело в том, что я бы и не заметил данную проблему (ибо чайник), если бы не невозможность использовать id View-элементов.
Был лаг у IDE, помог рестарт. После рестарта в дереве так и не нашёл R.java, но зато обнаружил, что после присвоения элементу ID, они стали юзабельны, и при нажатии Alt+Enter при редактировании MainActivity.java (после инициализации через ID), в импорт заносятся новые элементы:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
Вопрос: Java классы и Appodeal

Всем привет.

Имеется в наличии код для интеграции Appodeal-рекламы двухлетней давности, который почему-то компилируется с ошибками.

Файл AppActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class AppActivity extends Cocos2dxActivity
{
    ...
    private static AppActivity me;
    private mlAppodeal appodeal;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        me = this;
 
        try
        {
            appodeal = new mlAppodeal(this, appodealId);
        } catch(Exception e) {
        }
    }
    ...
}
Файл mlAppodeal.java. Тут я комментариями отметил места, где получаю ошибки в Андройд Студии. Всего 2 ошибки.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class mlAppodeal implements RewardedVideoCallbacks //error: mlAppodeal is not abstract and does not override abstract method onRewardedVideoExpired() in RewardedVideoCallbacks
{
    static AppActivity activity;
    public mlAppodeal( AppActivity app, String appId )
    {
        activity = app;
 
        Appodeal.initialize(app, appId, Appodeal.REWARDED_VIDEO | Appodeal.BANNER);
        Appodeal.setTesting(true);
        Appodeal.setRewardedVideoCallbacks(this);
    }
    ...
    @Override
    public void onRewardedVideoLoaded() {
        nativeVideoState(true);
    }
    @Override
    public void onRewardedVideoFailedToLoad() {
        nativeVideoState(false);
        nativeFinishedVideo(false);
    }
    @Override
    public void onRewardedVideoShown() {
        nativeStartVideo(true);
    }
    @Override//error: method does not override or implement a method from a supertype
    public void onRewardedVideoFinished(int amount, String name) {
        nativeFinishedVideo(true);
    }
    @Override
    public void onRewardedVideoClosed(boolean finished) {
    }
 
    native void nativeVideoState(boolean var);
    native void nativeFinishedVideo(boolean var);
    native void nativeStartVideo(boolean var);
}
Данный Java-код будет взаимодействовать с C++.

Помогите пожалуйста разобраться с Java-кодом. Что можно исправить, чтобы получить рабочий вариант? Сам я программирую на С++, и язык Java не изучал, никогда не думал что он может мне пригодиться.
Ответ: Спасибо за ответы. Там нужно было всего-лишь объявить метод onRewardedVideoExpired() внутри класса.

Но теперь я получаю следующую ошибку.

Program type already present: com.appodeal.ads.Appodeal
Message{kind=ERROR, text=Program type already present: com.appodeal.ads.Appodeal, sources=[Unknown source file], tool name=Optional.of(D8)}


Поисковик выводит много результатов с подобными ошибками, но я так и не сумел разобраться с проблемой. Может быть кто-нибудь знает как это можно исправить?
Вопрос: Перспективы различных направлений Java

Помогите определится, есть базовые знание Java, довольно не плохие, ситуация такая, после изучения азов Java, решил углубиться в Java EE, изучал где месяца 4 сделал, научился делать шаблонные вещи( работа с базами данными, корзина покупателя, регистрация, отзывы, какая-никакая админка), но как-то не зацепило, не сильно много материала и сложность, решил попробовать андроид, благодаря множеству материалов обучения пошло легко, а больше всего понравилась разработка игр на андроид, но поскольку разработка игр на андроид в основном связанна с юнити, то если углубляться то в юнити, но юнити это уже плюсы. Вопрос такой какое из трех направлений Java сейчас наиболее перспективное, и как сейчас в странах снг с разработкой андроид игр, и если андроид какие есть движки конкуренты с юнити на языке джава ?
Ответ: Судя по тому что вы пишите что пошло легко, значит не достаточно углубились. ИМХО. А насчет java, она во всех направления перспективна. Для игр движков вагон и маленькая тележка, тот же AndEngine. Но зацикливаться на разработке игр не стоит, если для себя, то может быть, а если с расчетом на заработок, то тут либо найти хорошую компанию со стажировкой, либо молиться на стартап. Игры это очень хорошо, но проще и популярнее делать апликухи под заказ. Для разработки игр есть свои критерии, но это уже отдельная статья.
Вопрос: Глобальная переменная в Java

Подскажите нубу. Недавно начал изучать Java. У меня в методе onClick есть свич для обработки кнопок. Вот отрывок для одной кнопки:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
public void onClick(View v) {
        int res = 0;
        String vd = "";
        switch (v.getId()){
            case R.id.btn1:
                int zn = 1;
                res = res + zn;
                vd = vd + "1";
                viewText.setText(vd);
                break;
Как мне сделать, чтобы после выполнения свича, в строку String vd = ""; сохранялся полученный результат и при повторном выполнение свича использовался этот String vd = ""? Или что я не так понимаю?
Ответ: Можно:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public static void main(String argv[])
    {
        int val = 0;
        String s = "1234";
 
        try{
            Integer i_obj = Integer.valueOf(s);
            val=i_obj.intValue();
            System.out.println("val="+val);
            //все получилось
        }
        catch (Exception err) {
            //Сюда мы попали, потому что не получилось
            //получить целое по строке, значит в строке что-то не то
            err.printStackTrace();
        }
    }
Добавлено через 2 минуты
Можно даже в двоичной системе строку перевести в целое(десятичное).
Java(TM) 2 Platform Standard Edition 5.0
1
Integer i_obj = Integer.valueOf(s,2);//2 - это radix, система счисления
Вопрос: Pascal from java

Добрый день.
Мне нужно по курсовой сделать калькулятор систем счисления, чтобы переводить числа, но нужно учесть что числа могут быть не только цели ай десятичные, пробовал сам что-то написать ничего толком не получилось, в интернете примеры только pascal, C# C ++, а нужно именно на java, нашел в интернете вроде норм код но он на паскале пробовал перевести на java но многое не получилось перевести, помогите доделать.
Оригинальный код на паскале:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
program test;
 
var 
   s, s1,s2 : string; // число для перевода
   base_in : integer; // Основание входной системы счисления
   base_out : integer; // Основание выходной системы счисления
function CheckDotCount(s: string): boolean; // Проверка количества точек в числе
var
  count, i : integer;
begin
  count := 0;
  for i := 1 to Length(s) do
    if (s[i] = '.') then inc(count);  
   if (count > 1) then CheckDotCount := false
   else CheckDotCount := true;
end;
 
function IntToHex(ds: byte): string;
const
 b: string = '0123456789ABCDEF';
begin
if (b[(ds shr 4) + 1] = '0') then
  Result:= b[(ds and $F) + 1]
else Result:= b[(ds shr 4) + 1] + b[(ds and $F) + 1];  
end;
 
function HexToInt(s: string): Longword;
 var
   b: Byte;
   c: Char;
 begin
   Result := 0;
   s := UpperCase(s);
   for b := 1 to Length(s) do
   begin
     Result := Result * 16;
     c := s[b];
     case c of
       '0'..'9': Inc(Result, Ord(c) - Ord('0'));
       'A'..'F': Inc(Result, Ord(c) - Ord('A') + 10);
     end;
   end;
 end;
 
function checkSS(base : integer; s : string): boolean;
var
  i: integer;
  flag : boolean;
begin
  flag := true;
  for i := 1 to Length(s) do 
  begin
    if (HexToInt(s[i]) >= base) then flag := false;
  end;
  if ((base > 16) or (base < 2)) then flag := false;
  Result := flag;
end;
 
function checkSSR (base : integer):boolean;
begin
if ((base > 16) or (base < 2)) then Result := false
else
Result := true;
end;
 
function getStringBeforeDot(s:string): string;
  //pos : integer;
begin
  if (Pos('.',s) = 0) then Result := s
  else Result := Copy(s, 1,Pos('.',s)-1);
end;
 
function getStringAfterDot(s: string):string;
begin
  if (Pos('.',s) = 0) then Result := ''
  else
    Result := copy(s,Pos('.',s)+1,Length(s));
end;
 
procedure IntConverter(s:string; base_in : integer; base_out : integer);
var
  n1,N,i,r1 : integer;
  d1 : array [0..255] of integer;
begin
  n1 := Length(s);
  N := 0;
  for i := 1 to n1 do
  begin
    N:= N*base_in+HexToInt(s[i]);
  end;
  if (N = 0) then write ('0')
  else
  begin
    r1 := 0;
    while (N <> 0) do
    begin
       d1[r1] := N mod base_out;
       N := N div base_out;
       inc(r1);
    end;
  for i:=r1-1 downto 0 do
    write(IntToHex(d1[i]));
  end;
end;
 
procedure DotConverter(s:string; base_in : integer; base_out : integer);
var
  n2 , i, k2: longint;
  Nf : double;
begin
  n2 := Length(s);
  if (n2 = 0) then
  begin
    writeln();
    exit;
  end;
  write('.');
  Nf := 0;
  for i := n2 downto 1 do
  begin
    Nf := (HexToInt(s[i]) + Nf) / base_in;
  end;
  k2 := 0;
  while ((Nf <> 0) AND (k2 < 20)) do
  begin
    inc(k2);
    write(IntToHex(Floor(Nf*base_out)));
    Nf := ((Nf*base_out));
  end;
end;
 
begin
  writeln('Введите число для перевода:');
  readln(s);
  if (CheckDotCount(s) = false) then
  begin
    writeln('Во введеном числе более 1 точки, что-то не так');
    exit;  
  end;
  writeln('Введите основание входной системы счисления:');
  readln(base_in);
  if (checkSS(base_in, s) = false) then
  begin
    writeln('Некорректная система счисления или число для этой системы счисления');
    exit;  
  end;
  writeln('Введите основание выходной системы счисления:');
  readln(base_out);
  if (checkSSR(base_out) = false) then
  begin
    writeln('Некорректная система счисления или число для этой системы счисления');
    exit;  
  end;
  s1 := getStringBeforeDot(s);
  s2 := getStringAfterDot(s);
  IntConverter(s1,base_in,base_out);
  DotConverter(s2,base_in,base_out);
  readln;
end.
Моя попытка перевести в java:

Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
package com.example.tlp.calcukator2;
 
import android.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import org.w3c.dom.Text;
 
public class MainActivity extends AppCompatActivity {
 
    String s, s1, s2,ss1,ss2; // число для перевода
    Integer base_in; // Основание входной системы счисления
    Integer base_out; // Основание выходной системы счисления
 
    Button button;
    EditText editText, editText2, editText3;
    TextView textView2;
    AlertDialog mes;
    private boolean CheckDotCount;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        button = (Button) findViewById(R.id.button);
        textView2 = (TextView) findViewById(R.id.textView2);
        editText = (EditText) findViewById(R.id.editText);
        editText2 = (EditText) findViewById(R.id.editText2);
        editText3 = (EditText) findViewById(R.id.editText3);
        mes = new AlertDialog.Builder(this).create();
    }
 
    public void button_click(View view){
        s = editText.getText().toString();
        if (CheckDotCount(s) == false) {
            mes.setTitle("Ошибка");
            mes.setMessage("Во введеном числе более 1 точки, что-то не так!");
            mes.show();
        }
 
        ss1 = editText.getText().toString();
        base_in = Integer.valueOf(ss1);
        if (checkSS(base_in, s) == false){
            mes.setTitle("Ошибка");
            mes.setMessage("Некорректная система счисления или число для этой системы счисления!");
            mes.show();
        }
 
        ss2 = editText.getText().toString();
        base_out = Integer.valueOf(ss2);
        if (checkSSR(base_out) == false) {
            mes.setTitle("Ошибка");
            mes.setMessage("Некорректная система счисления или число для этой системы счисления!");
            mes.show();
        }
 
        s1 = getStringBeforeDot(s);
        s2 = getStringAfterDot(s);
        IntConverter(s1,base_in,base_out);
        DotConverter(s2,base_in,base_out);
 
    }
 
 
 
    // Проверка количества точек в числе
    private Boolean CheckDotCount(String s){
        Integer count, i;
        count = 0;
        for ( i = 1; i< s.length();i++){
                if (s.charAt(i) == '.')  count++;
                if (count > 1)  CheckDotCount = false;
                else CheckDotCount = true;
        }
    }
 
    private String IntToHex(Byte ds){
        String b = "0123456789ABCDEF";
 
        if (b[(ds SHR 4) + 1] = "0")
        {
            Result = b[(ds && $F) + 1]
        }
        else
        Result = b[(ds shr 4) + 1] + b[(ds && $F) + 1];
    }
 
    private Long HexToInt(String s){
        Byte b;
        char c;
        Result = 0;
        s = s.toUpperCase();
        for (b = 1; b< s.length();b++){
            Result = Result * 16;
            c =s.charAt(b);
            switch ()
            case c:
                '0'..'9':Inc(Result, Ord(c) - Ord('0'));
                'A'..'F':Inc(Result, Ord(c) - Ord('A') + 10);
        }
    }
 
 
    private Boolean checkSS(Integer base, String s) {
        Integer i;
        Boolean flag;
        flag = true;
        for (i = 1; i< s.length();i++){
            if (HexToInt(s.charAt(i)) >= base)  flag=false;
        }
        if ((base > 16) | (base < 2))  flag = false;
        Result = flag;
        return s;
    }
 
    private Boolean checkSSR (Integer base){
        if ((base > 16) | (base < 2))  Result = false;
        else
        Result = true;
        return  base;
    }
 
    private String getStringBeforeDot(String s){
        //pos : integer;
        if (Pos('.',s) = 0)  Result = s
        else
            Result = Copy(s, 1,Pos('.',s)-1);
        return s;
    }
 
 
    private String getStringAfterDot(String s){
        if (Pos('.',s) = 0) then Result = ""
        else
        Result = copy(s,Pos('.',s)+1,s.length());
 
    }
 
    private void IntConverter(String s, Integer base_in, Integer base_out){
        Integer n1,N,i,r1;
        int[] d1 = new int[255];
        n1 = s.length();
        N = 0;
        for (i = 1; i<n1; i++){
            N= N*base_in+HexToInt(s.charAt(i));
        }
        if (N == 0) write ("0");
        else
        r1 = 0;
        while (N != 0) {
            d1[r1]:=N mod base_out;
            N =N div base_out;
            r1++;
        }
        for (i=r1-1; i== 0; i--){
            textView2.setText(IntToHex(d1[i]));
        }
    }
 
 
    private void DotConverter(String s, Integer base_in, Integer base_out){
        Integer n2,i,k2;
        Double Nf;
        n2 = s.length();
        if (n2 == 0) {
            writeln();
        }
        write('.');
        Nf = 0;
        for (i = n2; i==1;i--){
          Nf = (HexToInt(s.charAt(i)) + Nf) / base_in;
        }
        k2 = 0;
        while ((Nf != 0) && (k2 < 20)){
         k2++;
            textView2.setText(IntToHex(Math.floor(Nf * base_out)));
         Nf = ((Nf*base_out));
        }
 
    }
 
 
 
 
}
Ответ: Если кому-то поможет то код на C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <locale.h>
#include <malloc.h>
#include <stdlib.h>
#define z 255
 
/*Заголовки функций*/
int aton(char a);
char ntoa(int n);
int cdot(char * S);
void dot(char* S, char* S1, char* S2);
void IntTransfer(char *S1, int b1, int b2);
void DotTransfer(char *S2, int b1, int b2);
int types (int b1, char *S);
 
void main ()
{
int b1, b2;
char S[z];
char S1[z];
char S2[z];
setlocale(LC_CTYPE,"Russian");
printf("Введите число для перевода \n");
gets_s(S,z);
if (cdot(S) == -1)
{
printf("incorrect value, Closed!\n");
getchar();
exit (-1);
}
printf("Введите основание входной сс\n");
scanf_s("%d",&b1);
if (types (b1, S) == -2)
{
printf("Некорректное основание входной системы счисления или неверное число для перевода\n");
getchar();
exit (-1);
}
if (types2(b1) == -1)
{
printf("Неверное основание входной сс\n");
getchar();
exit (-1);
}
printf("Введите основание выходной сс\n");
scanf_s("%d",&b2);
if (types2(b2) == -1)
{
printf("Неверное основание выходной сс\n");
getchar();
exit (-1);
}
dot(S, S1, S2);
IntTransfer(S1, b1, b2);
DotTransfer (S2,b1,b2);
printf("\n");
}
 
int aton(char a) // преобразование символа в номер цифры (Число)
{
if ((a >= '0') && (a <= '9'))
return a - '0';
else if ((a >= 'a') && (a <= 'z'))
return a - 'a' + 10;
else
return a - 'A' + 10;
}
char ntoa(int n) // преобразование номера цифры в символ
{
if ((n >= 0) && (n <= 9))
return '0' + n;
else
return 'A' - 10 + n;
 
}
void dot(char* S, char* S1, char* S2) // Разделение введеной строки. До точки\после точки
{
const char* delim = ".";
char* cp = malloc(strlen(S)+1);
char* tmp;
if (cp == NULL)
{
printf("Ошибка при работе с памятью");
exit(-1);
}
 
tmp = strtok(S,".");
if (tmp!=NULL) strcpy(S1,tmp);
else strcpy(S1,"\0");
tmp=strtok(NULL,".");
if (tmp!=NULL) strcpy(S2,tmp);
else strcpy(S2,"\0");
free(cp);
}
void IntTransfer(char* S1, int b1, int b2)
{
int n1, N, i,r1;
int d1 [z];
n1=strlen(S1);
N=0;
for (i=0;i<n1;i++)
{
N=N*b1+aton(S1[i]);
}
if (N==0)
{
printf("0");
}
else
{
r1=0;
while (N!=0)
{
d1[r1]=N%b2;
N=N/b2;
r1++;
}
for (i=r1-1;i>=0;i--)
{
printf("%c",ntoa(d1[i]));
}
}
}
void DotTransfer (char *S2, int b1, int b2)
{
int n2 , i, k2;
int const K = 20;
long double Nf;
n2 = strlen(S2);
if (n2 == 0)
{
printf("\n");
return;
}
printf(".");
Nf = 0;
for (i = n2-1; i >= 0; i--)
{
Nf = (aton(S2[i]) + Nf) / b1;
}
k2 = 0;
while (Nf != 0 && k2 < K)
{
k2++;
printf("%c",ntoa(floor(Nf*b2)));
Nf=fmod((Nf*b2), 1);
}
}
int cdot(char * S)
{
int i, kol = 0;
for (i = 0; i < strlen(S); i++)
{
if (S[i] == '.') kol++;
}
if (kol > 1)
{
return -1;
}
}
int types (int b1, char *S)
{
int i;
for (i = 0; i < strlen(S); i++)
{
if (aton(S[i]) >= b1) return -2;
}
}
int types2 (int b)
{
if (b > 16 || b < 2) return -1;
 
}

я еще несколько переделал но не знаю правильно или
, а остальное не знаю как переделать
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
package com.example.tlp.calcukator2;
 
import android.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import org.w3c.dom.Text;
 
public class MainActivity extends AppCompatActivity {
 
    String s, s1, s2,ss1,ss2; // число для перевода
    Integer base_in; // Основание входной системы счисления
    Integer base_out; // Основание выходной системы счисления
 
    Button button;
    EditText editText, editText2, editText3;
    TextView textView2;
    AlertDialog mes;
    private boolean CheckDotCount;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        button = (Button) findViewById(R.id.button);
        textView2 = (TextView) findViewById(R.id.textView2);
        editText = (EditText) findViewById(R.id.editText);
        editText2 = (EditText) findViewById(R.id.editText2);
        editText3 = (EditText) findViewById(R.id.editText3);
        mes = new AlertDialog.Builder(this).create();
    }
 
    public void button_click(View view){
        s = editText.getText().toString();
        if (CheckDotCount(s) == false) {
            mes.setTitle("Ошибка");
            mes.setMessage("Во введеном числе более 1 точки, что-то не так!");
            mes.show();
        }
 
        ss1 = editText.getText().toString();
        base_in = Integer.valueOf(ss1);
        if (checkSS(base_in, s) == false){
            mes.setTitle("Ошибка");
            mes.setMessage("Некорректная система счисления или число для этой системы счисления!");
            mes.show();
        }
 
        ss2 = editText.getText().toString();
        base_out = Integer.valueOf(ss2);
        if (checkSSR(base_out) == false) {
            mes.setTitle("Ошибка");
            mes.setMessage("Некорректная система счисления или число для этой системы счисления!");
            mes.show();
        }
 
        s1 = getStringBeforeDot(s);
        s2 = getStringAfterDot(s);
        IntConverter(s1,base_in,base_out);
        DotConverter(s2,base_in,base_out);
 
    }
 
 
 
    // Проверка количества точек в числе
    private Boolean CheckDotCount(String s){
        Integer count, i;
        count = 0;
        for ( i = 1; i< s.length();i++){
                if (s.charAt(i) == '.')  count++;
                if (count > 1)  CheckDotCount = false;
                else CheckDotCount = true;
        }
        return CheckDotCount;
    }
 
    private String IntToHex(Byte ds){
        String b = "0123456789ABCDEF", result="";
 
        if (b[(ds >> 4) + 1] = "0")
        {
            result = b[(ds && $F) + 1];
        }
        else
        {
        result = b[(ds >> 4) + 1] + b[(ds && $F) + 1]
        }
        return result;
    }
 
    private Long HexToInt(String s){
        Byte b;
        Long Result;
        char c;
        Result = 0;
        s = s.toUpperCase();
        for (b = 1; b< s.length();b++){
            Result = Result * 16;
            c =s.charAt(b);
            switch ()
            case c:
                '0'..'9':Inc(Result, Ord(c) - Ord('0'));
                'A'..'F':Inc(Result, Ord(c) - Ord('A') + 10);
        }
    }
 
 
    private Boolean checkSS(Integer base, String s) {
        Integer i;
        Boolean flag,Result;
        flag = true;
        for (i = 1; i< s.length();i++){
            if (HexToInt(s.charAt(i)) >= base)  flag = false;
        }
        if ((base > 16) | (base < 2))  flag = false;
        Result = flag;
        return Result;
    }
 
    private Boolean checkSSR (Integer base){
        Boolean Result;
        if ((base > 16) | (base < 2))  Result = false;
        else
        Result = true;
        return  Result;
    }
 
    private String getStringBeforeDot(String s){
        String Result;
        if (Pos('.',s) = 0)  Result = s
        else
            Result = Copy(s, 1,Pos('.',s)-1);
        return Result;
    }
 
 
    private String getStringAfterDot(String s){
        String Result;
        if (Pos('.',s) = 0)  Result = "";
        else
        Result = copy(s,Pos('.',s)+1,s.length());
        return Result;
    }
 
    private void IntConverter(String s, Integer base_in, Integer base_out){
        Integer n1,N,i,r1;
        int[] d1 = new int[255];
        n1 = s.length();
        N = 0;
        for (i = 1; i<n1; i++){
            N= N*base_in+HexToInt(s.charAt(i));
        }
        if (N == 0) write ("0");
        else
        r1 = 0;
        while (N != 0) {
            d1[r1]:=N mod base_out;
            N =N div base_out;
            r1++;
        }
        for (i=r1-1; i== 0; i--){
            textView2.setText(IntToHex(d1[i]));
        }
    }
 
 
    private void DotConverter(String s, Integer base_in, Integer base_out){
        Integer n2,i,k2;
        Double Nf;
        n2 = s.length();
        if (n2 == 0) {
            writeln();
        }
        write('.');
        Nf = 0;
        for (i = n2; i==1;i--){
          Nf = (HexToInt(s.charAt(i)) + Nf) / base_in;
        }
        k2 = 0;
        while ((Nf != 0) && (k2 < 20)){
         k2++;
            textView2.setText(IntToHex(Math.floor(Nf * base_out)));
         Nf = ((Nf*base_out));
        }
 
    }
 
 
 
 
}
Вопрос: Чем отличается Eclipse IDE for Java EE Developers от Eclipse IDE for Java Developers?

чем отличается Eclipse IDE for Java EE Developers и Eclipse IDE for Java Developers? и какую лучше качать для разработки под андроид?

Добавлено через 1 минуту
з.ы. и кстати что там еще надо вообще для разработки под андроид?
Ответ:
Сообщение от Паблито
потому что это 32 бита, я же написал - надо сказать и поставить 64 бита, как студия просит
она поставится не в папку Program Files (x86) а в Program Files
нет, потому что java насколько я понял вообще не имеет разрядности, вот посмотрите где вы тут видите для скачивания две версии x86 и x64? тут качается один инсталлер
Вопрос: Возможность использования Java 8 в Android

На данный момент возможно ли использовать Java 8?)
Ответ:
Сообщение от ILNAR_93
На данный момент возможно ли использовать Java 8?
если вы имеете в виду новинки Java 8, то в целом нет