마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

android studio에 Error:(18, 28) error: ';' expected라는 오류메세지가 뜹니다.

0 추천
package com.example.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;

public class Pr_function_area_Activity extends AppCompatActivity
{
    public static void main (string[] args)
    {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pr_function_area_);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View view)
            {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }
        public String jint, ja, jb, jplus, jsum, j10, j20;

        while(true)
        {
            @Override
            public void onClick(View arg0)
            {
                //TODO Auto-generated method stub

                //xml파일에서 쓴 EditText를 가져옴
                EditText a = (EditText) findViewById(R.id.a);
                EditText b = (EditText) findViewById(R.id.b);
                EditText x*y = (EditText) findViewById(R.id.x*y);

                //EditText에 저장된 값을 변수에 저장함
                a = a.getText().toString();
                b = b.getText().toString();
                x*y = x*y.getText().toString();

                if (a=="a" && b== "b" && x*y == "x*y")
                {   //정답이면 다음으로 넘어감
                    Intent intent = new Intent(getApplicationContext(), So_function_area_Activity.class);
                    startActivity(intent);
                }else  //틀리면 다시 함
                finish();
            }
        }
    }
}

여기에서 질문하고자 하는 오류메세지는 같지만 오류가 나는 곳은 2곳 입니다.

오류 메세지는 아래입니다.

C:\Upload\MyApplication2\app\src\main\java\com\example\myapplication\Pr_function_area_Activity.java:18: error: ';' expected
    protected void onCreate(Bundle savedInstanceState)

C:\Upload\MyApplication2\app\src\main\java\com\example\myapplication\Pr_function_area_Activity.java:18: error: ';' expected
    protected void onCreate(Bundle savedInstanceState)

둘 다 error: ';' expected라는 같은 오류메세지가 뜹니다.

오류메세지가 가르키는 곳은 onCreate<error>(Bundle savedInstaceState<error>) 입니다.

왜 ;를 요구하는건지 모르겠습니다. 문장이 끝나는 곳도 아니고 답답할 뿐이네요.

명확한 답변 부탁드립니다.

익명사용자 님이 2017년 4월 8일 질문
2017년 4월 8일 수정

1개의 답변

+1 추천
괄호를 잘못 닫으신거 같습니다.

아래의 구문 바로 위에 } 가 onCreate를 닫는 괄호입니다.

public String jint, ja, jb, jplus, jsum, j10, j20;

즉 함수내부가 아닌 곳에서 while{} 구문이 있는 것으로 에러가 맞습니다.
바램 (19,650 포인트) 님이 2017년 4월 9일 답변
...