请解释以下关于"无法找到符号"的错误:
这个问题旨在成为一个关于Java中"无法找到符号"编译错误的综合问题.
我正在尝试学习Firebase,所以我通过了Android Codelab.然而,他们给我的项目有一个错误:
无法解析符号default_web_client_id
我不知道如何解决它,因为我不知道它的价值default_web_client_id或它是什么.它在onCreate()方法中:
SigninActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
mFirebaseAuth = FirebaseAuth.getInstance();
// Assign fields
mSignInButton = (SignInButton) findViewById(R.id.sign_in_button);
// Set click listeners
mSignInButton.setOnClickListener(this);
// Configure Google Sign In
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
}
Run Code Online (Sandbox Code Playgroud)
我不知道它是什么,它的价值是什么,为什么它给我这个错误.到目前为止我没有改变任何东西,除了添加google-services.json.我添加了SHA-1并在控制台中启用了Google.
当我从这个developer.android.com 教程中复制以下代码时:
BiometricPrompt.PromptInfo promptInfo =
new BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric login for my app")
.setSubtitle("Log in using your biometric credential")
.setNegativeButtonText("Cancel")
.build();
Run Code Online (Sandbox Code Playgroud)
无法识别提示信息。
我已经按照教程中之前的所有步骤进行了操作。
我在Eclipse和Java文件中编写了一个示例JSP文件,并试图在我的JSP中调用Java类但它无法正常工作.JAVA文件的代码如下:
TestJava.jva
public class TestJava {
public void test(String msg)
{
System.out.println("My name is "+msg);
}
}
Run Code Online (Sandbox Code Playgroud)
Javafile位于src文件夹中.我的JSP文件test.jsp如下:
test.jsp的
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>My First JSP with JAVA</title>
</head>
<body>
<jsp:useBean id="link" scope="application" class = "TestJava" />
<% TestJava t=new TestJava();
t.test("Joy");
%>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
由于" TestJava无法解析为类型 " ,因此给出了错误.我已经研究了Stack Overflow中的其他相关帖子,但这些方法也没有用.作为JSP的新手,我无法理解如何修复该错误.所以我问是否有人可以帮助我解决这个问题.
谢谢.
我是IntelliJ和Java的新手.我正在尝试学习多线程,我遇到了Executors课程.
所以我想测试一下,这是我的代码示例.
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class LegController {
private List<Runnable> legs;
private ExecutorService execute;
public LegController() {
legs = new ArrayList<>();
for (int i = 0; i < 6; i++) {
legs.add(LegFactory.getLeg("LEFT"));
}
execute = new Executors.newFixedThreadPool(6);
}
public void start(){
//TODO
}
}
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:"无法解析符号'newFixedThreadPool'".我尝试了"无效缓存并重新启动",但它没有帮助,我尝试了同步和重建项目,但它也没有用.
我不明白这个问题的来源,因为导入了类Executors.此外,还有自动完成Executors的静态方法.也许输入有问题,但如果是这样,我该怎么办呢?
我尝试使用aws更新我的dynamodb,但由于import com.amazonaws.services.dynamodbv2.**document**.*不注册文档,但读取所有其他导入内容,因此无法创建dynamodb对象或表对象:
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.model.AttributeDefinition;
import com.amazonaws.services.dynamodbv2.model.CreateTableRequest;
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement;
import com.amazonaws.services.dynamodbv2.model.KeyType;
import com.amazonaws.services.dynamodbv2.model.ListTablesResult;
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput;
import com.amazonaws.services.dynamodbv2.model.TableDescription;
Run Code Online (Sandbox Code Playgroud)
以下是我正在使用的完整课程:
import android.Manifest;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.model.UpdateItemRequest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.spec.UpdateItemSpec;
import com.amazonaws.services.dynamodbv2.document.utils.ValueMap;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.TableCollection;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.spec.UpdateItemSpec;
import …Run Code Online (Sandbox Code Playgroud) java android amazon-web-services amazon-dynamodb cannot-find-symbol
以下源代码应制作图片并在屏幕上显示.但我得到一些错误.Cannot resolve symbol 'activity_fullscreen',同样为imageView1,dummy_button,fullscreen_content和fullscreen_content_controls.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fullscreen);
mVisible = true;
mControlsView = findViewById(R.id.fullscreen_content_controls);
mContentView = findViewById(R.id.fullscreen_content);
// Set up the user interaction to manually show or hide the system UI.
mContentView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toggle();
}
});
// Upon interacting with UI controls, delay any scheduled hide()
// operations to prevent the jarring behavior of controls going away
// while interacting …Run Code Online (Sandbox Code Playgroud) 为什么在将appcompat更新为27.1后,我的Android导入语句(ActionBarActivity)上出现"找不到符号类"错误?我在以下import语句中收到以下错误.请注意,import语句现在显示为灰色:
Error:(16, 30) error: cannot find symbol class ActionBarActivity
Run Code Online (Sandbox Code Playgroud)
我只更新了我的build.gradle文件(我更改的行用双星号表示),现在它看起来像:
**compileSdkVersion 27**
**buildToolsVersion '27.0.3'**
defaultConfig {
minSdkVersion 23
**targetSdkVersion 27**
versionCode 47
versionName "1.3.35"
multiDexEnabled true
}
...
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:27.1.0'
compile files('libs/okhttp-3.6.0.jar')
// major number should always match compileSdkVersion above
compile files('libs/square-otto-1.3.2.jar')
compile files('libs/core-3.3.0.jar')
}
Run Code Online (Sandbox Code Playgroud)
Android Studio已完全更新.我正在使用3.0.1
android compiler-errors android-studio android-actionbaractivity cannot-find-symbol
在我的IDE和在线IDE中都尝试过,我在Zybooks.com上的教科书允许我使用。我的目标是检查变量是否passCode包含数字。这是代码:
public class CheckingPasscodes{
public static void main (String [] args) {
boolean hasDigit = false;
String passCode = "";
int valid = 0;
passCode = "abc";
if (passCode.isDigit(passCode.charAt(0)) || passCode.isDigit(passCode.charAt(1)) || passCode.isDigit(passCode.charAt(2))) {
hasDigit = true;
}
if (hasDigit) {
System.out.println("Has a digit.");
}
else {
System.out.println("Has no digit.");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在第9行(第一个if开始的地方)收到错误:
java: cannot find symbol
symbol: method isDigit(char)
location: variable passCode of type java.lang.String
Run Code Online (Sandbox Code Playgroud)
尝试将passCode.charAt(0)(或1和2)更改为'a'(或“ b”和“ c”)以测试是否是因为我将一个方法放入另一个方法中,但是似乎出现了相同的错误。
我最终通过问一个朋友(为我提供了这个)来解决了这个问题:
char …Run Code Online (Sandbox Code Playgroud) Part part = request.getPart("file");
if (part != null){
String fileName = extractFileName(part);
String filePath = savePath + File.separator + fileName;
part.write(savePath + File.separator + fileName);
String imageName = fileName;
} else{
String fileName = "avatar.jpg";
String filePath = savePath + File.separator + fileName;
part.write(savePath + File.separator + fileName);
String imageName = fileName;
}
Run Code Online (Sandbox Code Playgroud)
在将if else语句插入代码后,我底部的代码收到此错误说:imageName无法解析为变量,filePath无法解析为变量.但是,一旦我评论了我的if else声明,一切都很好.有人能告诉我哪里出错了吗?
request.setAttribute("Pic", filePath);
request.setAttribute("PicName", imageName);
Run Code Online (Sandbox Code Playgroud)