Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.03.2020
Сообщений: 29

Шифр Цезаря в Android studio не отображается в TextView

20.09.2022, 17:08. Показов 789. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача: пользователь вводит слово и мне нужно зашифровать его шифром Цезаря. Для ввода слова предназначен EditText. Отсюда нужно взять слово, которое вводит пользователь, и при нажатии на кнопку нужно отобразить зашифрованное слово в TextView. Но когда дело доходит до вывода textOut1.setText(symbol_right_shift(word .charAt(j), i)); приложение вылетает. Я думаю, проблема в том, что TextView не подходит для всех возможных вариантов шифрования. Но я сделал TextView прокручиваемым. Возможно, у вас есть другие идеи по реализации шифра? нужно очень срочно

XML Code:
XML
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
   
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="60dp"
        android:paddingTop="150dp"
        android:text="Введите слово для шифрования"
        android:textSize="20sp" />
 
    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Слово" />
 
    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Зашифровать"
        android:onClick="Encryption"/>
 
    <TextView
        android:id="@+id/textOut1"
        android:layout_width="match_parent"
        android:layout_height="579dp"
        android:maxLines="5000"
        android:scrollbars="vertical"
        android:text="Зашифрованное слово"
        android:textSize="20sp" />
 
 
</LinearLayout>

Main.java code
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.example.lab5mob;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.content.Intent;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import java.util.Locale;
import java.util.Scanner;
 
public class MainActivity extends AppCompatActivity {
 
EditText editText1;
Button button1;
TextView textOut1;
    static final String alphabet = "abcdefghijklmnopqrstuvwxyz";
 
    public static char symbol_right_shift(char symbol, int shift){
 
       if (alphabet.indexOf(symbol) != -1){
        return alphabet.charAt((alphabet.indexOf(symbol) + shift) % alphabet.length());
 
       }
       else{
           return symbol;
       }
 
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText1 = (EditText) findViewById(R.id.editText1);
        button1 = (Button) findViewById(R.id.button1);
        textOut1 = (TextView) findViewById(R.id.textOut1);
        textOut1.setMovementMethod(new ScrollingMovementMethod());
    }
 
 
    public void Encryption(View view) {
        String word = editText1.getText().toString(); //read value from EditText
        word = word.toLowerCase();
 
         for(int i=0; i <= 26; ++i) {
         for (int j=0; j<word.length(); j++){
             textOut1.setText(symbol_right_shift(word.charAt(j), i));//display this text in a TextView
         }
          textOut1.setText("\n");
        }
    }
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.09.2022, 17:08
Ответы с готовыми решениями:

Android Studio не находит функцию TextView в пакете Android.Widget
Я создал новый проект в Android Studio. Android Studio не находит функцию TextView в пакете Android.Widget. Подскажите, пожалуйста, в...

Реализовать шифр Цезаря с ключевым словом в PHP Devel Studio
Доброго времени суток! Помогите пожалуйста реализовать этот шифр, не знаю даже с чего начать. Шифр Цезаря реализовала, а вот тут с...

Android Studio / MS SQL / TextView
Всем привет. Как в TextView вывести данные с поля, у которого ID'шник=4?

5
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
20.09.2022, 17:22
Лог ошибки находится на вкладке logcat.
PS: Метод setText устанавливает текст, а добавляет символы в конец.
0
0 / 0 / 0
Регистрация: 02.03.2020
Сообщений: 29
20.09.2022, 17:33  [ТС]
вот логи
2022-09-20 17:31:54.814 17574-17574/com.example.lab5mob E/example.lab5mo: Invalid ID 0x0000043b.
2022-09-20 17:31:54.815 17574-17574/com.example.lab5mob D/AndroidRuntime: Shutting down VM
2022-09-20 17:31:54.818 17574-17574/com.example.lab5mob E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.lab5mob, PID: 17574
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInfl ater$DeclaredOnClickListener.onClick(App CompatViewInflater.java:446)
at android.view.View.performClick(View.java :7448)
at com.google.android.material.button.Mater ialButton.performClick(MaterialButton.ja va:1194)
at android.view.View.performClickInternal(V iew.java:7425)
at android.view.View.access$3600(View.java: 810)
at android.view.View$PerformClick.run(View. java:28305)
at android.os.Handler.handleCallback(Handle r.java:938)
at android.os.Handler.dispatchMessage(Handl er.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(Activity Thread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$Meth odAndArgsCaller.run(RuntimeInit.java:592 )
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:947)
Caused by: java.lang.reflect.InvocationTargetExcept ion
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInfl ater$DeclaredOnClickListener.onClick(App CompatViewInflater.java:441)
at android.view.View.performClick(View.java :7448) 
at com.google.android.material.button.Mater ialButton.performClick(MaterialButton.ja va:1194) 
at android.view.View.performClickInternal(V iew.java:7425) 
at android.view.View.access$3600(View.java: 810) 
at android.view.View$PerformClick.run(View. java:28305) 
at android.os.Handler.handleCallback(Handle r.java:938) 
at android.os.Handler.dispatchMessage(Handl er.java:99) 
at android.os.Looper.loop(Looper.java:223) 
at android.app.ActivityThread.main(Activity Thread.java:7656) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$Meth odAndArgsCaller.run(RuntimeInit.java:592 ) 
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:947) 
Caused by: android.content.res.Resources$NotFoundEx ception: String resource ID #0x43b
at android.content.res.Resources.getText(Re sources.java:444)
at android.widget.TextView.setText(TextView .java:6412)
at com.example.lab5mob.MainActivity.Encrypt ion(MainActivity.java:53)
at java.lang.reflect.Method.invoke(Native Method) 
at androidx.appcompat.app.AppCompatViewInfl ater$DeclaredOnClickListener.onClick(App CompatViewInflater.java:441) 
at android.view.View.performClick(View.java :7448) 
at com.google.android.material.button.Mater ialButton.performClick(MaterialButton.ja va:1194) 
at android.view.View.performClickInternal(V iew.java:7425) 
at android.view.View.access$3600(View.java: 810) 
at android.view.View$PerformClick.run(View. java:28305) 
at android.os.Handler.handleCallback(Handle r.java:938) 
at android.os.Handler.dispatchMessage(Handl er.java:99) 
at android.os.Looper.loop(Looper.java:223) 
at android.app.ActivityThread.main(Activity Thread.java:7656) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$Meth odAndArgsCaller.run(RuntimeInit.java:592 ) 
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:947) 
2022-09-20 17:31:54.870 17574-17574/com.example.lab5mob I/Process: Sending signal. PID: 17574 SIG: 9
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
20.09.2022, 17:36
Там всё написано, метод для атрибута android:onClick реализован неправильно.
0
0 / 0 / 0
Регистрация: 02.03.2020
Сообщений: 29
20.09.2022, 17:41  [ТС]
Это я вижу, поэтому и пишу с просьбой о помощи, потому что не знаю как разобраться
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
20.09.2022, 18:09
Используй метод setOnClickListener для установки слушателя нажатия на кнпоке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2022, 18:09
Помогаю со студенческими работами здесь

Android studio не выводит дату в TextView
Здравствуйте. Программируя в Android studio, столкнулся с проблемой: я никак не могу вывести дату на экран. Пытался сделать это разными...

Android Studio - Kotlin - Нет доступа к textview и button
Добрый день! Я новичок В общем, смотрю видеоуроки, у меня задача - забрать данные из текстового поля textview по нажатию кнопки ...

Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Вот мой код MyActivity.java: package com.example.dasha; import android.app.Activity; import android.os.Bundle; import...

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio?
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал - изменился текст, опять нажал и тд

Не отображается клавиатура в Android Studio
Всем привет! Начал изучать Android Studio и столкнулся с проблемой, при нажатии на EditText не появляется клавиатура. Точнее, значок в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru