AsyncTasks как разобраться?
doInBackground выполняется не в UI потоке,  поэтому обновления UI не будет.  Для этого нужно перегрузить другой метод
onPostExecute(Result), invoked on the UI thread after the background computation finishes. The result of the background computation is passed to this step as a parameter.
СледующееIf you truly want parallel execution, you can invoke executeOnExecutor(java.util.concurrent.Executor, Object[]) with THREAD_POOL_EXECUTOR.
Не удивительно ч о у вас не получается,  вы даже стандартную справку по работе с AsyncTask не можете прочитать или найти в гугле.  developer.android.com/reference/android/os/AsyncTa...
Почему у вас падает,  вы думаете все бросятся копировать и компилировать ваш класс?
Из метода doInBackground нельзя обращаться к UI, а у вас прописано обращение к TextView
и EditText
К UI можно обращаться из методов onPreExecute и onPostExecute класса AsyncTask. Например, public class Calcs extends AsyncTask<Void, Void, String> {
    @Override
     protected void onPreExecute() {
            super.onPreExecute();

            res.setText("Insert Compound");
     }

    @Override
    protected String doInBackground(Void... voids) {
       String str = null;
        .........
        ...............
       //после всех действий возвращаете результат, в вашем случае строку результата, которую нужно отобразить в TextView
        return str; 
    }

    @Override
    protected void onPostExecute(String result) {
            super.onPostExecute(result);
            //result - это то, что возвращает метод doInBackground            

            //обновляете UI
             res.setText(result);
    }
    
}
Строку из EditText можно подать на вход doInBackground:new Calcs().execute(editTextString);
Детальнее c примером в доке про AsyncTask